COMO mostrar en Drupal 5 un bloque con las categorías a lo WordPress

Drupal es un CMS estupendo, quizá excesivo para un simple weblog, pero desde luego es un gran CMS (no en vano ha sido elegido mejor CMS libre de 2007). Los que leen este blog regularmente ya saben que desde el principio (y ya hace algún tiempo…) uso Drupal para su gestión y aunque alguna vez pensé la migración a WordPress, me alegro de no haberla hecho (uso wordpress en otros sitios y aún siendo enormemente sencillo de utilizar, no me da todo el manejo que sí me da éste).

Pero los que han usado/usan Drupal saben que hay pequeñas cosas a las que sus desarrolladores no prestan atención. Siendo un CMS fantástico, hay pequeños detalles que ayudan a que la cosa sea más amigable para todos. Es el caso que comentamos en este post: cualquiera que haya usado WordPress sabe que casi todos los temas listan un pequeño bloque con las categorías y el número de posts incluídos en cada una. Veamos como ejemplo una captura de Vive Málaga (un blog construido sobre WordPress).

¿Entendido? Pues nosotros, como buenos drupaleros, queremos exactamente lo mismo. No queremos ser menos que un usuario de wordpress cualquiera, capisci? No es tan difícil, aunque yo soy un patán que sin ayuda no hace nada, la solución es tan fácil como crear un bloque que ejecute código PHP y pegar el siguiente código (recuerda que esto es válido para Drupal 5):

tid)).”)”;
$termdepth = “”;
for ($i=0;$i<$term->depth;$i++)
{
$termdepth = $termdepth . “– “;
}
$items[] = $termdepth . l($term->name, “taxonomy/term/$term->tid”) . ” $count”;
}
if ( count($items) ) { print theme(‘item_list’, $items);}
?>

Y eso es todo, ¿ven qué fácil? Espero que a algún usuario de Drupal esto le sirva, a mí me ha hecho un rey (antes cada vez que hacía una categoría nueva tenía que ir modificando el código html de un bloque que yo mismo hice, y la mitad de las veces lo olvidaba así que era un desastre).

*** Lo encontré como siempre, en la red donde todos los trucos buenos (y algunos malos :P) se comparten. En concreto lo ví en el portal de usuarios Persas de Drupal, para que luego digan que de Irán sólo salen cosas malas :)

Doctor en Química laser especializado en desarrollo de hardware para análisis. Consultor y Project Manager. Autor de los libros publicados La sociedad de control y La neutralidad de la Red.

12 Comments

  1. Interesante solucion para conseguirlo. Yo uso drupal, y lo he conseguido con la instalacion de un modulo, (creo que es taxonomy, o algo asi), que directamente lo hace, entre otras cosas ;)

  2. ¡Pues te estás poniendo a huevo!
    Si no has tenido ningún problemilla para programar eso en PHP, igual te caen diez o doce cosas más.
    Hablamossss!!!

  3. hola estoy trabajando en drupal 5.0.

    creo el bloque con el codigo que usted indica y le coloco el numero id del vocabulario y le indico que se muestre en la parte de abajo del contenido y me muestra es el codigo.

    No se realmente que mas debo hacer. Agradezco su ayuda.

    • En tipo de texto que irá en el bloque, ¿has puesto “PHP”? Si aparece el texto supongo que no se está ejecutando el código, por tanto creo que le has dicho que te muestre HTML capado o algo así.

      Un bloque puede llevar HTML “capado” (sólo unas pocas etiquetas), HTML completo y PHP, yo diría que el problema viene por ahí, pero puede que haya algún detalle más que se me esté escapando.

  4. Hola, soy nuevo en drupal y realmente me esta costando mucho poder hacer lo que tu explicas en este post. Por otro lado no puedo creer como drupal no posee una opcion tan sencilla como esta, que muestre las categorias de la taxonomy.

    He creado el bloque como tu lo indicas, y luego lo configure para que se vea en el side bar left. Pero no veo nada. Aqui dejo un ejemplo de como cree el bloque, tal vez omiti algo. La parte del cuerpo la deje vacia y el codigo lo puse mas abajo. Estoy usando druapal 6.x.

    Espero que me puedas ayudar. Muchisimas gracias.

    • Lo único que se me ocurre es que en $vid (la variable que indica el id del vocabulary para el que quieres crear este bloque, en tu base de datos de drupal) no sea el apropiado. Prueba a poner $vid = 0, $vid = 2 y ejecutar el código php del bloque.

      Yo lo puse para Drupal 5, pero el bloque se ha mantenido operativo y funcionando después de actualizar a Drupal 6 ya hace un tiempo.

      Suerte.

      • Todavia no pude. Seguramente yo estoy haciendo algo mal. En taxonomia agregue el vocavulario “Musica” y dentro de Musica agregue los terminos “Rock” y “Pop”. ¿Como seria la sintaxis en el codigo entonces? ¿Tendria que reemplazar $vid = 1 por $Musica = 1?
        Gracias por la ayuda y disculpa la ignorancia.

Submit a comment