modificación de campos de formulario de edición de un nodo en Drupal
Submitted by admin on Mié, 07/08/2009 - 01:48
Copiado de
http://carlos.rinconsanchez.com/como-modificar-el-formulario-de-un-tipo-de-contenido-en-drupal
Ponemos en el fichero template.php del theme lo siguiente:
Luego creamos un directorio forms en el directorio del theme y allí ponemos las plantillas de nuestros formularios con nombres que sean: form-nombre_del_tipo_de_contenido.tpl.php. Por ejemplo, si tenemos un tipo de contenido que se llama articulos el formulario se llamará form-articulos.tpl.php
Dentro de ese archivo tenemos la variable $form que es un array con cada uno de los campos del formulario. Lo esencial de ese archivo es lo siguiente:
function phptemplate_node_form($form) { drupal_set_message("Reescribiendo el formulario de " . $form['#node']->type); if($form['#node']->type) { if(file_exists(path_to_theme() . '/forms/form-' . $form['#node']->type . '.tpl.php')) { drupal_set_message("Encuentra el fichero y lo reescribe"); return _phptemplate_callback('forms/form-' . $form['#node']->type, array('form' => $form)); } else { return theme_node_form($form); } } }
<?php print drupal_render($form); ?> </code> Esto imprime todo el formulario. Pero por ejemplo nosotros podemos imprimir primero un campo y luego imprimir el resto:
<?php print '<div class="hola">' . drupal_render($form['trozo_del_formulario') . '</div>'; print drupal_render($form); ?>

Enviar un comentario nuevo