Desactivar detección de errores de CSS en VS2008

Visual Studio 2008

Desde luego para mi la ventana de errores del visual studio no es para sacar errores de CSS, para eso ya está el validador de la W3C. ;-D

El tema es que si queremos que se dejen de mezclar este tipo de errores entre los realmente importantes y no encontramos la opción, la ruta es la siguiente:

Herramientas> Opciones> Editor de texto> CSS> CSS específicos‘.

Entonces desmarcamos la opción ‘Detectar los errores‘.

Por supuesto, acordaros de marcar el check de bajo a la izquierda para poder ver todas las opciones completas!

Espero que os sea útil.

No se ven los botones de close, prev, next de lytebox en IE8

programacion

Esto pasa con la versión 3.22 de lytebox.

No se ven ninguno de los botones (close, play, prev, next), ni tampoco el fondo oscuro del lightbox.

Para solucionarlo tenemos que hacer algunos cambios en la lytebox.css.

Se trata de pasar el estilo que se determina para un elemento en la subclase .gray a la clase principal.

Así, por ejemplo, el código:

#lbClose { width: 64px; height: 28px; float: right; margin-bottom: 1px;}
#lbClose.grey { background: url(../images/admin/close_grey.png) no-repeat; }

Pasaría a:

#lbClose { width: 64px; height: 28px; float: right; margin-bottom: 1px; background: url(../images/admin/close_grey.png) no-repeat;}
#lbClose.grey { background: url(../images/admin/close_grey.png) no-repeat; }

Esto lo tenemos que ir haciendo también para #lbPause, #lbPlay, y #lbOverlay.

Ojo con los #lbPrev, y #lbNext.

En este caso tendremos que incluir una linea como:

#lbNext:hover, #lbNext:visited:hover { background: url(images/next_grey.gif) right 15% no-repeat; }

Saludos!

Problema al traducir un link de menú de K2 con joomFish

Joomla

Patada de joomfish a k2Si estamos trabajando en un portal con K2 y JoomFish, es fácil que nos ocurra que no funcionan bien los links de los menús del tipo ‘categoría de K2’ o similar.
Si vamos al administrador de traducciones de joomfish y vemos las traducciones de esos ítems de menú, veremos que están incompletos.
Lo peor es que aunque le demos a copiar y guardemos, vemos que el link sigue mal traducido.

Para arreglar esto tenemos que aplicar la solución encontrada aquí.

Básicamente se trata de:

1. Ir a la ruta “administrator/components/com_joomfish/contentelements”
2. Editar el archivo “menu.xml” (haz copia)
3. Sustituir esto: <field type=”readonlytext” translate=”1″  posthandler=”saveUrlParams” prehandler=”checkUrlType”>Link</field>
4. Por esto: <field type=”text” length=”100″ maxlength=”255″ translate=”1″>Link</field>

Una vez hecho esto, ya podemos ir al administrador de traducciones, y editar todos los items de menú para ahora sí, poder copiar la url original y guardar sin problemas.

Si además, tenemos el sh404sef activado puede que sigamos teniendo problemas.
En este caso, solo tenemos que ir al panel de control de sh, y en la opción “Enable URL optimization” ponemos NO.
Aunque parezca que no tiene sentido, el resultado es muy satisfactorio. Se mantienen las url’s optimizadas.

Error de COLLATION “No se puede resolver el conflicto de intercalación entre…” en SqlServer

Bases de datos

En nuestro caso, el error concreto era: No se puede resolver el conflicto de intercalación entre “Modern_Spanish_CI_AI” y “Modern_Spanish_CI_AS” de la operación like.

Esto sucede cuando intentas comparar dos columnas con diferente COLLATION.
CI_AI significa: Case Insensitive Accent Insensitive.
CI_AS significa: Case Insensitive Accent Sensitive.

La solución, pasa por determinar con cuál de los dos ‘collation’ queremos trabajar y cambiar el de la columna que corresponda.

Para ver que columna tiene que ‘collation’ solo tenemos que desplegar la tabla en el ‘Explorador de objetos’ de nuestro ‘SQL Server Management Studio’ y darle a botón derecho > propiedades, de la columna en cuestión.

Cuando ya lo tengamos claro, solo tenemos que cambiarlo manualmente o ejecutar el siguiente script (poniendo el tipo de datos de la columna que corresponda):

ALTER TABLE my_table ALTER COLUMN my_column varchar(2048) COLLATE Modern_Spanish_CI_AI

Esperamos que os sea de ayuda.

Error visualizando la ficha de un ítem como editor de backend en K2 de Joomla

Joomla

Enlazando con el post anterior, resulta que al actualizar la versión del plugin K2fields a la 0.4.8, ocurre que cuando un usuario de tipo ‘editor’ de backend intenta editar un ítem, al cabo de un tiempo de espera la página se queda en blanco.

Como en el post anterior, solo que ahora solo le pasa a los usuarios de back que no son administradores y antes de que se muestre el formulario. No al guardar.

Depurando el plugin, vemos que hay una parte del código que parece encargarse de alguna forma, de que ese editor solo pueda modificar los filtros de los artículos que sean suyos o modificados por él, o una cosa así.

Por ahora, a falta de disponer de más información, simplemente hemos evitado que los usuarios editores ejecuten el trozo de ‘código corrupto‘, igual que lo evitan los administradores.

Para ello, tenemos que ir a la carpeta ‘\plugins\k2\’ y editar el archivo ‘k2fields.php’.
Buscamos la función ‘static function getUserAddedExtraFieldValues($filter = null, $jsonEncoded = true)’.
Y en el trozo:

if ($filter) {
    $user = & JFactory::getUser();
    $userId = $user->get ('id');
    $db = & JFactory::getDBO();
    $query = "SELECT extra_fields FROM #__k2_items WHERE created_by = {$userId} OR modified_by = {$userId}";
    $db->setQuery($query);
    $rows = $db->loadObjectList();

    foreach ($rows as $row) {
        $values = $json->decode($row->extra_fields);

        if (!is_array($values)) continue;
        
        foreach ($values as $value) {
            $exists = isset($nonSaveableFields[$value->id])
                 && !is_object($value->value) // need to check how multiple select saves values
                 && isset($nonSaveableFields[$value->id][$value->value]);

            if ($filter == plgk2k2fields::FILTER_NOT_ADDED_BY_USER && $exists
             || $filter == plgk2k2fields::FILTER_ADDED_BY_USER && !$exists) {
                unset($nonSaveableFields[$value->id][$value->value]);
            }
        }
    }

    foreach ($nonSaveableFields as $n => $nonSaveableField) {
        if (sizeof($nonSaveableField) == 0) {
            unset($nonSaveableFields[$n]);
        }
    }
}

Cogemos el primer if, y le ponemos:

if (false){//($filter) {

Con esto por el momento se soluciona el problema.

Vamos a intentar ponernos en contacto con el autor para comentarle el ‘bug’, y a ver si se puede resolver en la siguiente versión.

Si detectáis algún efecto colateral, no dudéis en comentarlo.

Error al guardar un ítem en K2 de Joomla

Joomla

Si cuando tienes cierto volumen en un K2, vas a guardar un ítem, y ves que tarda demasiado tiempo y al final te sale una pantalla en blanco, posiblemente estés teniendo el mismo problema que nosotros.

Mira a ver si tienes el plugin “K2Fields” y si este está en su versión 0.4.7 o anterior. Si es así, ahí va a estar el problema…

Simplemente descarga la última versión del K2Fields (ahora la 0.4.8), desinstala la vieja e instala la nueva, y a funcionar.

Además, no hay que preocuparse por la configuración que tuviéramos de los extra_fiels ni de sus valores. Eso va a parte.

Esperamos haber sido de ayuda.