Category: Drupal

Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /filefield/filefield_field.inc on line 309.

Me sucedio que al momento de querer agregar un campo de tipo file con la form API de Drupal obtenía el siguiente Warning impidiendo continuar con la carga de archivos.
Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /filefield/filefield_field.inc on line 309.
Para esto sustituimos el bloque de la línea 309 para que quedé de la siguiente manera.
// Load the complete file if a filepath is not available.
if (!empty($item['fid']) && empty($item['filepath'])) {
     $file = (array) field_file_load($item['fid']);
     if (isset($file['data'])) {
        $file['data'] = array_merge($file['data'], $items[$delta]['data']);
     }
     $items[$delta] = array_merge($file, $items[$delta]);
}

Y listo!.

Estadísticas de Nodo en Drupal

La semana pasada me pidieron agregar una columna de Lecturas o visitas en una vista de un foro.
Para hacer esto, lo logramos en las propiedades de la vista, agregamos un campo del tipo “Estadisticas de Nodo”.
Y a continuación nos mostrará las tres opciones correspondientes, en este caso seleccionaremos Estadísticas de nodo: Total de vistas. 
 Pulsamos el botón de Agregar, y a continuación dejamos las siguientes opciones como mas nos convenga, en mi caso quedo así:
Pulsamos Actualizar presentación y Guardamos y listo, nuestro contador de visitas debería de estar ahora funcionando.
Si por alguna razón, nos damos cuenta que nuestro contador no incrementa, necesitamos hacer lo siguiente:
Nos vamos a Administrador > Informes > Opciones del registro de Acceso ó Administer > Logs > Access log settings.
Activamos el registro de Acceso y activamos tambíen la opción de Contar las impresiones del contenido. Y listo!


Pantalla blanca en Drupal

En ocasiones puede pasar que nuestro sitio de Drupal presenta la famosa “Pantalla blanca de la muerte, o White Screen of Death. Esto es normalmente cuando queremos accesar a nuestro admin.
En mi caso se presento por una de las razones mas comunes, saturación de memoria. Para aumentarle la memoria dedicada a nuestro sitio de drupal, tenemos que ir a /sitio/sites/default/settings.php y ahi agregamos la siguiente linea.
 ini_set('memory_limit', '128M');
Y ya con esto lo habremos logrado.

Drupal Fuera de Línea

Acabo de tener un problema al momento de restaurar la base de datos de mi sitio que tengo en drupal.
Después de realizar la restauración, al momento de querer accesar al sitio, me mostraba la leyenda de “Sitio fuera de línea”.
No tenía forma alguna de acceder, lo intente vía URL http://www.misitio.com?q=user y no dío ningun resultado.
Después de investigar encontré la solución, la cual es modificar la configuración directamente desde la base de datos.
UPDATE variable SET value = 's:1:"0";' WHERE name = 'site_offline';
DELETE FROM cache WHERE cid = 'variables';
Donde ‘s:1:”0″; significa En línea y ‘s:1:”1″; es Fuera de línea.

Habilitar comentarios a un content-type especifico.

Resulta que este fin de semana tenía que habilitar los comentarios para un content-type de un sitio que tengo en Drupal 6.
Cuando me lo pidieron dije “Ok, rápido se hace” y oh sorpresa, me resulto un dolor de cabeza ya que dicho content por mas que aparecia como “habilitado” no mostraba ningun formulario de captura de comentarios.
Así que después de muchas horas de investigación tuve que hacerlo a lo rudo.
Si analizamos un poco la base de datos en la tabla de nodos, podemos ver que existe un campo llamado “comments”,
A continuación los valores que puede contener este campo.
0 => Significa que los comentarios estan deshabilitados
1 => Los comentarios  estan en Solo lectura
2 => Los comentarios estan en modo Lectura y Escritura

Entonces solo ejecutamos el siguiente query

UPDATE node SET COMMENT = 2  WHERE TYPE = 'nombre-content-type';