Hoy he necesitado esconder un campo CCK en D6 y no quería escribir un módulo a parte. No quería implementar hook_form_alter en ninguno de los módulos (custom) existentes.
La respuesta ha sido sencilla, Rules.
Lo primero que necesitamos es descargar el proyecto rules Rules y activar los módulos:
- Rules
- Rules Administration UI
- Rules Forms support
O su equivalente en drush:
drush dl rules && drush en -y rules, rules_admin, rules_form
Activar el soporte para el formulario de nodo
Lo siguiente es activar el soporte de Rules para el formulario de nuestro tipo de contenido. En mi caso el tipo de contenido se llama Coupon. Para hacerlo tenemos que navegar hasta Administer > Rules > Form Events (admin/rules/forms) y marcar la casilla Enable event activation messages on forms. Esto nos proporcionará un enlace de activación en todos los formularios que visitemos (hasta que desactivemos esta opción).
Vamos, por tanto, al formulario de creación (o edición) de nuestro tipo de contenido (node/add/coupon). Y clicamos en el enlace para activarlo Activate events for coupon_node_form. Si hacemos esto bien tendremos disponibles los eventos de ese formulario en concreto para disparar reglas.
Ahora podemos volver a Administer > Rules > Form Events y desmarcar la casilla Enable event activation messages on forms.
Crear la nueva regla
Para crear una regla nueva vamos hasta Administer > Rules > Triggered Rules > Add a new rule (admin/rules/trigger/add) y seleccionar como evento Coupon node form is being build (obviamente con vuestro tipo de contenido en vez de Coupon). Rellenamos el resto de valores de la regla y listos. Es importante dejar marcada la casilla que activa la regla.
Configurar la regla
En el formulario de Rule elements añadimos una nueva acción con el enlace Add a new action. Seleccionamos Hide an element of the form y clicamos en Siguiente. En Form element ID introducimos el nombre de nuestro campo (en mi caso era field_coupon_profile).
Fin de la historia.
Necesita un poquito de configuración, pero vale la pena explorar esta vía para esconder un campo CCK.
Gracias a Neven Jurkovic por la fotografía y por publicar en CC.






En todo caso, me parece absurdo el mandato de amar por obligación; si amo porque me obligan, entonces no amo en absoluto.mortgage calculator