drupal-7 - patterns - tipos de contenido drupal
Cómo deshabilitar un campo o hacerlo de solo lectura en Drupal 7 (2)
Como dijimos en los documentos
Puedes usar atributos:
$form[''#attributes''] = array(''disabled'' => TRUE);
Estoy tratando de deshabilitar dos campos y hacerlos de solo lectura a través de hook_page_alter (). Pude comprobar si el usuario está viendo la sección de edición de la página (la edición del formulario)
$page[''content''][''system_main''][''#node_edit_form''] == TRUE)
luego, cuando intenté desactivar dos campos, descubrí que la lista de selección puede ser deshabilitada por este código:
$page[''content''][''system_main''][''field_my_field_name_a_select_list''][''und''][''#attributes''][''disabled''] = TRUE;
pero si uso el siguiente código, no funciona:
$page[''content''][''system_main''][''field_my_field_name_a_select_list''][''und''][''#disabled''] = TRUE;
También descubrí que no puedo usar el mismo código para desactivar un campo de área de texto:
$page[''content''][''system_main''][''field_my_text_area''][''und''][''#attributes''][''disabled''] = TRUE;
El código anterior no desactiva el área de texto, ¡pero el mismo código puede desactivar la lista de selección!
Luego probé hook_form_alter () para hacer lo mismo, y pude deshabilitar los campos y cuando revisé la matriz representada de $ page array, vi que muestra:
$page[''content''][''system_main''][''field_my_field_name_a_select_list''][''und''][''#disabled''] = TRUE;
pero cuando configuré el mismo código en hook_page_alter (), no funcionó. Parece que algo más lo anulará, pensé que hook_page_alter () es el último lugar para cambiar el marcado.
¿Alguna idea de cuál es la mejor manera de desactivar / leer solo cualquier tipo de campo, dentro de hook_page_alter () en drupal 7?
Gracias
Funciona para campos de texto ^
$form[''field_secured_title''][''und''][''0''][''value''][''#attributes''][''disabled''] = TRUE;