Hoy es un día feliz para el pequeño micromundo de investic.
Primero porque mañana iniciamos nuestras vacaciones de verano, aprovechamos la llegada del fin del mundo que son los sanfermines en nuestra ciudad para coger nuestro merecido descanso. Este año las calas de menorca bañarán nuestros cansados no/músculos
A veces queremos poner un bloque justo después de un nodo es la versión de página pero antes de los comentarios. Por defecto Drupal pone siempre los comentarios después del contenido y no permite poner ningún bloque entre ambos.
He encontrado una solución de Drupal.org pero se ha de modificar Core, lo cual, está en casi todos los casos desaconsejado.
Una solución más práctica y rápida es definir una nueva región, meter los bloques que necesitemos en esa región y luego imprimir esa región en el node-tpl.php (o en el template que te interese)
Por ejemplo, en mi caso quiero poner el bloque de contenido relacionado justo después del contenido y antes que los comentarios.
Primero defino las regiones añadiendo una nueva que la llamaré 'just_after_content' (el nombre es lo de menos, puedes poner el que quieras pero es recomendable que sea identificativo). En drupal 5 esto se hace poniendo en el template.php de tu theme lo siguiente:
<?php
function mytheme_regions() {
return array(
'right' => t('right sidebar'),
'content' => t('content'),
'header' => t('header'),
'footer' => t('footer'),
'floater' => t('floater'),
'just_after_content' => t('Justo depués del contenido'),
);
}
?>
y el Drupal 6 se pone en el .info de tu theme
<?php
regions[sidebar_right] = Right sidebar
regions[sidebar_left] = Left sidebar
regions[sidebar_right_sec] = Secondary right sidebar
regions[pre_content] = Before content
regions[content] = Content
regions[featured] = Featured
regions[content_bottom] = Bottom content
regions[header] = Header
regions[footer_region] = Footer
regions[just_after_content] = Justo después del contenido
?>
Una vez definida la región abrimos node.tpl.php y ponemos al final:
<?php
print theme('blocks','just_after_content');
?>
y sólo queda asignar el bloque a la región "just_after_content" desde la página de administración de bloques (/admin/build/block). Por cierto, en mi blog ahora mismo no me va con el block cache activado, tendré que mirarmelo mejor. Si has hecho todo esto y no te sale la región que has definido intentan limpiando la cache (admin/settings/performance)
El día a día de trabajar con Drupal no sólo se limita a su parte más técnica o artística (los themes), también incluye la, en ocasiones, dura labor de trabajar con las personas usuarias. Aunque la experiencia ya nos va dando trucos y claves de cómo preparar drupal para facilitar la gestión de drupal y minimizar riesgos siempre hay algo que se nos pasa por alto explicar o definir.
Es grato confirmar que en Octubre Documentados empieza su actividad docente mediante cursos en linea utilizando la plataforma Moodle.
Nuestra intención es dividir el curso de Drupal 5.x en 7 secciones importantes, y cada uno con sus temas:
La primera sección, más generalista tratara de la instalación de Drupal, pero también de los primeros contactos con las herramientas de ftp, y con los servidores, la idea es tener una visión generalista de estas áreas más que una visión profunda.
Cada una de las secciones tendrá una duración de una semana, en la cual el alumno tendrá que "gestionarse" su tiempo para "estudiar" la materia y realizar todas las actividades que se tendrán que llevar a cabo. El curso durará 7 semanas.
El curso contará con tres profesores los cuales han trabajado con Drupal en las diferentes empresas y/o instituciones en las que han pertenecido o pertenecen. Los profesores son Ángel Carmelo Martin, Oskar Calvo Vidal, Preiddy Garcia.
Las tutorías se podrán realizar tanto en el foro que se habilitará en la plataforma para realizar el curso, como mediante mensajes de correo electrónicos privados a los profesores. Desde el grupo docente recomendamos la utilización del foro, el cual permitirá que otras personas puedan leer sus duda, y quizás también resolverlas, darles otra perspectiva, etc....
El precio del curso es de 125 euros, cuyo pago se realizará mediante transferencia bancaria de forma anticipada (por favor ponganse en contacto con nosotros para facilitarles el número de cuenta bancaria donde realizar el pago), y todas aquellas personas que así lo necesiten recibirán una factura del mismo.
Aunque nuestra intención es impartir cursos de las diferentes herramientas que desde documentados utilizamos y ofrecemos, estamos como siempre abiertos a solicitudes de cursos que puedan necesitar empresas, instituciones, etc...
Un cordial saludo
Oskar Calvo
John Forsythe de Blamcast publica en su blog la lista que ofrece google trends de webs a las que la gente también visita drupal.org.
Google Trends permite discriminar por país, así que por curiosidad lo filtré por España y sorpresa, mi blog sale en la 4 posición. En teoría, eso quiere decir una parte de la gente de España que va a drupal.org también acaba yendo a carlos.rinconsanchez.com.
El top 8 según Google trends del "also visited" con drupal.org y con filtro España son:
La verdad es que creo que google trends no es del todo fiable pero mira, me hace ilusión salir ahí :)
Las facetas son atributos por las que podemos clasificar la información. Normalmente, acostumbramos a usar la palabra tag o etiqueta para referirnos al valor de la faceta.
En Digital Web encontramos (vía HCNet ) un interesante artículo explicando el valor y el sentido de usar navegación facetada y en Drupal podemos implementarlo gracias al completo módulo Faceted Search.
En uno de los blogs de Drupal Planet, he leido sobre un curioso proyecto llamado Drupy, una versión de Drupal, pero desarrollada integramente desde la perspectiva de programación basada en objetos, con Python, en lugar de PHP.
Lejos de ser una simple idea, o un proyecto abandonado, parece que la gente de Drupy está muy activa y están cerca de sacar una versión beta del sistema. En su web puedes consultar el estado actual del proyecto, y a través de su página de sourceforge se pueden seguir las correcciones y avances de desarrollo.
Creo que es bueno para la comunidad que se hagan versiones de Drupal en otras plataformas, aunque me gustará saber cómo va encarar la gente de Drupy el problema de portar todos los módulos (o al menos los más relevantes) de PHP a Python, ¿veremos algún día módulos en Drupy siendo portados a la versión de Drupal en PHP?.
También será interesante conocer los detalles del web server que van a utilizar, porque tengo entendido que la combinación de Apache + Python está un poco verde.
¿Qué opináis del tema? ¿Os parece que aportará algo al proyecto de Drupal? ¿O al software libre en general?
Joan, que es una gran persona y un fiel seguidor de "el gran Dios misericordioso Monstruo del Spagetti Volador, único Dios verdadero y omnipotente", me ha facilitado el código que utiliza el para suplir uno de los grandes problemas que tiene Drupal, conseguir la AA de accesibilidad.
Aunque Miren de Investic nos recomendo en el foro de Drupal hispano miral el siguiente enlace de Drupal.org
Al final Joan me ha pasado su solución, sustituir el formulario por otro
Este es el código:
<form action="/search/node" accept-charset="UTF-8" method="post" id="search-theme-form">
<div id="search" class="container-inline">
<label for="edit-search-theme-form-keys"></label>
<div class="form-item">
<input maxlength="128" name="search_theme_form_keys" id="edit-search-theme-form-keys" size="15" value="Buscar..." title=" " class="form-text" type="text" />
</div>
Muchas gracias a Miren y a Joan.
Un saludo
Oskar
Hace tiempo que no se ve mucho movimiento en nuestra cocina, lo cierto es que en nuestra pequeña ciudad cuando se acercan las fiestas de desenfreno y locura, no sólo no se para la ciudad por 9/15 días, también se acaba el mundo. El que se acabe el mundo como es de entender que nos impide estar mas tiempo entre las cazuelas.
De todos modos nosotros seguimos con nuestra intención de ir mejorando este lugar donde aprender a cocinar platos con drupal.
Si alguna vez necesitas clases únicas para cada menu item de cada menú (no solo primary y secondary), lo que hay que hacer es un override de la función theme_menu_item();
Pongamos que queremos una clase unica para cada etiqueta li, y un span unico dentro de cada menu item:
Editamos el template.php de nuestro tema y ponemos el siguiente código (sin los tags de php ):
<?php
function phptemplate_menu_item($mid, $children = '', $leaf = TRUE) {
return '<li class="'. ($leaf ? 'leaf' : ($children ? 'expanded' : 'collapsed')) . ' menu-item-'.$mid.'"><span class="menu-item-'. $mid . '">'. menu_item_link($mid) . $children ."</span></li>\n";
}
?>
Si usais la plantilla zen, la función se llamaría zen_menu_item, como siempre.
Este codigo generará este html, por ejemplo para mid = 150:
<li class="leaf menu-item-150">
<span class="menu-item-150">
<a href="linkencuestion">titulo menu</a>
</span>
</li>
De esta forma, podemos definir un estilo especifico mediante css para cada item del menú, por ejemplo:
span.menu-item-150 a { color: red;}
De esta forma tienes total control sobre cada cosa, si usas correctamente css. Quizás en vuestro caso no necesitéis la clase extra en la etiqueta li, pero eso ya lo dejo para que lo modifiquéis vosotros, y así entendáis como funciona ;)
Espero os sea de utilidad!
Hoy me he peleado con un formulario que tenía que generar "al vuelo" y me he encontrado con dos variantes de este error:
"warning: implode() [function.implode]: Bad arguments. in /includes/form.inc on line 622."
"warning: implode() [function.implode]: Invalid arguments. in /includes/form.inc on line 622."
El problema parece residir en que, cuando generas el formulario que tiene campos de tipo select o checkbox con drupal_render , no inserta todas las propiedades que requiere el modulo form y produce uno de los errores que podéis ver más arriba.
Buscando en drupal.org, he visto una solución a este problema, insertandole estas propiedades, en este caso al select, con la función _element_info .
$form['select']+= _element_info('select');
Donde $form['select'] es el elemento select del formulario que queremos completar.
Es importante que se le añada esta sentencia antes de establecer las propiedades específicas de nuestro form, ya que sino, sobreescribirá varias de ellas y perderemos información.
De todas formas, la forma recomendable de generar un formulario en drupal, que nos evita este tipo de problemas es usar drupal_get_form() en la llamada a la función que genera el formulario, en lugar de drupal_render en la propia función.
Muchas veces nos preguntamos si herramientas potentes como Drupal pueden ser una buena solución para una PYME, o por el contrario estaríamos matando moscas a cañonazos.
Lo cierto es que Drupal tiene una serie de características importantes, que pueden hacer pensar que es una herramienta excesivamente poderosa.
A pesar de todo ello, Drupal es la mejor solución que puede encontrarse ahora mismo en el ámbito de los CMS, tanto de software libre como de pago. Su gran flexibilidad permite crear desde un simple blog hasta una poderosa intranet, pasando por comunidades on-line, portales de información, tiendas, etc....
Las claves para pensar en Drupal como el mejor producto para PYMES es:
Si alguien tiene una duda que no dude en ponerse en contacto con migo.
Un saludo
Oskar
A través de este post de Lullabot me he enterado de cómo comprobar si una página web está construida en Drupal o no a través de las cabeceras de http.
Se ve que casi todos los sitios Drupal emiten una cabecera de Expires a fecha de 19 de Noviembre de 1978, que parece ser es el cumpleaños de este señor.
Podéis comprobar vuestras webs aquí:
http://cambrico.net/check-drupal-site