Entradas

Mostrando entradas de junio, 2011

Redirigir, excepto si se está recuperando contraseña

Imagen
El requerimiento es que los usuarios logueados sean redirigidos a la página proyectos-nuevos . Eso se puede implementar usando actions/triggers . Es decir, el action redirigir a proyectos-nuevos cuando ocurre el trigger login del usuario. Cuando un usuario solicita recuperar su contraseña, se le facilita un enlace que conduce a una página de acceso provisional y luego, normalmente ocurre una redirección a la edición de su cuenta. Sin embargo, la redireccion con actions/triggers interfiere con esto y conduce también a este caso hacia proyectos-nuevos . Para solucionarlo, es mejor usar el módulo rules . Instalado rules, en  admin/rules/trigger se puede agregar una nueva regla que conduzca a proyectos-nuevos cuando ocurra el login. Produce el mismo efecto que al usar actions/triggers, incluso el de interferir con la redirección de recuperación de contraseña. Para prevenir la redirección en ese caso, se puede agregar una condición PHP a la regla: if (arg(0) == 'use

Nombre real en el email de registro

Imagen
Normalmente, en el proceso de registro con Drupal, el usuario recibe un email que se refiere a él usando su nombre de usuario. Si entra a  admin/user/settings puede ver que existen ciertos tokens propios, entre los que esta  !username . ¿Y si se desea mostrar el nombre real? Por ejemplo, Antonio Kobashikawa, en lugar de akobashikawa. Una forma es usando hook_mail_alter() . Por ejemplo: // Custom email registration message function misc_mail_alter(&$message) {   // http://drupal.org/files/issues/realname_token_system_mail_notifications.patch   $midparts = explode('_', $message['id'], 2);   if ($midparts[0] == 'user' || $midparts[0] == 'logintoboggan') {     switch ($midparts[1]) {       case 'register_no_approval_required':         $realname = trim($_POST[' field_profile_nombres '][0]['value']) . " " . trim($_POST[' field_profile_apellidos '][0]['value']);         $message['subject'] =

Entorno Drupal en Linux Mint

Imagen
Luego de usar Ubuntu Natty Narwhal por algunas semanas, estoy probando Linux Mint 11 . Felizmente es un derivado de Ubuntu, así que puedo usar lo que aprendí allí. Los pasos que describo a continuación servirían también en Ubuntu Natty Narwhal. Una de las razones por la que decidí probar Linux Mint fue la incomodidad de usar el escritorio Unity .  Ahora, en Linux Mint, siento que las cosas son más simples y claras.  Para instalar un entorno para trabajar con Drupal: Usé Synaptic Package Manager marcando los siguientes paquetes (y respondiendo afirmativamente a sus requerimientos de dependencias): apache2 php5 mysql-server mysql-client php5-mysql Y otras que me parecieron adecuadas (aunque no sabría decir cuáles son estríctamente necesarias): php5-gd php5-curl php5-xmlrpc php5-sqlite php5-mcrypt php5-xdebug php5-adodb php5-geoip php-pear En el caso de mysql-server , en algún punto solicitará la contraseña del root para proseguir. Como instalé primero apache2

Geany con Zen Coding

Imagen
Geany es un editor de texto disponible para Linux y también para Windows. Zen Coding es una utilidad que permite generar HTML a partir de una expresión abreviada. Por ejemplo, resulta práctico que algo como 'html:xs' pueda expandirse en el esqueleto completo de un documento XHTML. Hay plugins que permiten tener la funcionalidad de Zen Coding en editores como Notepad++ o gEdit. Para Geany, está tardando un poco. Pero hay una manera, sugerida en el artículo http://damour-ua.com/?p=65 que puede ayudar mientras tanto. Descargar el archivo  http://damour-ua.com/files/zen.zip y descomprimirlo en algún lugar. Por ejemplo, yo lo coloqué como /home/rulo/Bin/zen En Geany, entrar a Edit, Format, Send Selection To, Set Custom Commands y colocar allí una línea como: python /home/rulo/Bin/zen/1.py Para probar la funcionalidad, en un documento de Geany, ingrese una expresión zen coding, como html:xs , selecciónela y pulse CTRL+1. Referencias http://damour-ua.com/?p=65 h

Drupal 6 con Admin Menu, Admin Theme, Seven, Bartik Mod

Hacen una bonita combinación. Admin Menu http://drupal.org/project/admin_menu Coloca un menú dinámico en el top de la página. Se puede indicar que mantenga la posición aunque haya scroll hacia abajo. Una vez habilitado, puede entrar a la configuración de su tema de administración y quitar el bloque Navigation (Navegación), ya que contiene básicamente los mismos items. Admin Theme http://drupal.org/project/admin_theme Agrega funcionalidades al Administration Theme (admin/settings/admin). Entre ellas, poder indicar en qué otras páginas usar también el tema de administración, o en cuáles no. Seven http://drupal.org/project/seven Un tema simple y agradable destinado a administración. Hace juego con Bartik. Bartik Mod http://kahthong.com/2010/10/bartik-drupal-6-theme-backported http://theme.thanage.eu/node/9 Bartik es el tema oficial de Drupal 7. Aunque no hay una versión oficial para Drupal 6, están estos ports disponibles.

Mostrando nodos con bloques asociados

Imagen
Lo que se requiere es mostrar páginas, cada una de las cuales tiene un banner superior y un banner lateral. Además, que ambos banners sean fácilmente editables. Quizás se pueda resolver con relativa facilidad usando Panels, pero tengo problemas usando ese módulo en un servicio de hosting que limita la memoria para PHP a 32 MB. Idea Que los banners sean nodos asociados a un tipo principal (usando CCK, node reference). La presentación sería usando bloques. Los bloques que contienen a los nodos se definirían usando Views. Implementación Las páginas son nodos de tipo page . Creo el tipo de contenido banner_superior . En mi caso, contiene un CCK imagefield. Creo una vista que provee una lista de nodos de tipo banner_superior. No es necesario definir un display, como se verá en el paso 4. En el tipo de contenido page, agrego el campo field_page_banner_superior , de tipo node reference , con widget tipo select . En la configuración de este campo, indico que el select use los v