Tengo un tipo de contenido específico en drupal6. Quiero implementar un gancho, que oculta el cuerpo de campo de ese tipo de contenido desde la opción agregar forma, pero no desde el formulario de edición. ¿Cómo puedo hacer eso?

OriginalEl autor mimrock | 2010-12-16

4 Comentarios

  1. 9

    Puede utilizar hook_form_alter. La cual se puede modificar mediante programación el contenido de la forma de la api de construir. Esto le da a usted el monto total de la forma de la matriz de la que usted puede simplemente unset($form['the_field_you_dont_want']);.

    Pero la forma más fácil para deshacerse de el campo de texto en la edición de tipo de contenido hay un campo etiquetado como ‘Cuerpo de la etiqueta del campo:’ simplemente deje este espacio en blanco y el cuerpo de campo será omitido.

    OriginalEl autor Richard

  2. 9

    unset parece destruir el valor, como lo hace el #access de la propiedad.
    Yo sólo uso esta para ocultar un campo (en este caso una referencia si fue programada mediante el URL:

    $form['field_reference']['#prefix'] = "<div class='hide'>";
    $form['field_reference']['#suffix'] = "</div>";
    Hice esto también, pero luego, si el usuario conoce CSS, se pueden ver los campos, y si usted hace esto en la página editar usuario, puede editar los campos. Es un estúpido aplicación, causa #access=0 no de destruir. Tal vez una solicitud para Drupal 8? 🙂

    OriginalEl autor Creative Choice

  3. 6

    La solución se encuentra aquí https://drupal.stackexchange.com/questions/11237/hide-field-in-node-add-page funciona muy bien para mí. Aquí estoy repitiendo la luna.los observadores de la solución:

    function test_remove_filed_form_alter(&$form, &$form_state) {
    
        if (arg(0) == 'node' && arg(1) == 'add') {
        $form['field_test']['#access'] = 0;
        }
    
    }

    La desventaja de la utilización de unset() es que va a eliminar por completo el campo y usted no puede seguir así, por ejemplo, en el nodo presave. En mi caso, yo sólo quería quitar el campo del formulario en el primer momento, pero quería rellenar más tarde, antes de guardar el nodo. La solución en el enlace de arriba funciona a la perfección para mí por esta razón.

    OriginalEl autor Marcos Buarque

  4. 1

    Hizo implementar el tipo de contenido dentro de un módulo (utilizando hook_node_info)? Si es así, establezca el has_body atributo es false.

    OriginalEl autor Andrew Sledge

Dejar respuesta

Please enter your comment!
Please enter your name here