¿Cómo puedo ocultar un campo al crear un nodo, pero mostrarlo al editar un modo?
11
Si entiendo su pregunta, creo que puede usar un módulo personalizado (en este ejemplo, el nombre del módulo es test_remove_field
) e incluir el siguiente código:
function test_remove_field_form_alter(&$form, &$form_state) {
if (arg(0) == 'node' && arg(1) == 'add') {
$form['field_test']['#access'] = 0;
}
}
Nota: recuerde que field_test
debe ser su nombre de campo respectivo.
El módulo de permisos de campo le permite establecer permisos de nivel de campo:
Puede usar estas opciones para habilitar el permiso basado en roles para un campo.
Permisos de campo
fuente
Que haría uso de hook_form_alter () y establezca la
['#access']
propiedad aFALSE
igual que la respuesta por @ moon.watcher.Si estás en Drupal 6, necesitarías un módulo para hacerlo. En Drupal 7 puede llamar a hook_form_alter () desde su plantilla.
fuente
Este es un caso de uso para el Módulo de soporte de formulario de reglas: https://www.drupal.org/project/rules_forms .
Las características incluyen:
fuente
Puede hacerse cargo del formulario de agregar / editar nodo con las páginas del Panel. Con esto, puede elegir lo que quiere en el formulario.
fuente