Pregunta:
Por lo general, no publico preguntas específicas como esta y pido ayuda sobre un tema específico, pero estoy al final de mi cuerda perdiendo el tiempo …
Tengo un módulo D7 simple como se ve a continuación, cuando cargo la página (el elemento de menú de quién está exactamente donde quiero que esté) aparece el siguiente error:
Error fatal recuperable: el argumento 1 pasado a drupal_attributes () debe ser un arreglo, dado como nulo, llamado en /path/to/site/public_html/includes/form.inc en la línea 3106 y definido en drupal_attributes () (línea 2257 de / path /to/site/public_html/includes/common.inc).
como puede ver, la declaración del formulario en sí es muy simple, y todo funciona perfectamente hasta que se carga la página.
nota, que he visto: 3106 en form.inc
y el elemento $ está poblada pero atribuye no existe – lo que me estoy perdiendo ???
<?php
/**
* Implements hook_menu().
*/
function attach_images_menu() {
$items['admin/structure/types/manage/%/attach/images'] = array(
'title' => 'Attach: Images',
'page callback' => 'attach_images_settings',
'access arguments' => array('access administration pages'),
'weight' => '10',
'type' => MENU_LOCAL_TASK,
);
return $items;
}
function attach_images_settings() {
//$content_type = arg(4);
$form['attach_images_amount_'] = array(
'#type' => 'textfield',
'#title' => 'Amount',
'#default_value' => variable_get('attach_images_amount_',1),
);
return system_settings_form($form);
}
?>
Respuesta:
$items['admin/structure/types/manage/%/attach/images'] = array(
'title' => 'Attach: Images',
'page callback' => 'attach_images_settings',
'access arguments' => array('access administration pages'),
'weight' => '10',
'type' => MENU_LOCAL_TASK,
);
Esto debería ser 'page callback' => 'drupal_get_form', 'page arguments' => array('attach_images_settings')
. (no olvide limpiar la caché después de realizar el cambio)
Además, las devoluciones de llamada de formulario en Drupal 7 tienen un argumento $ form obligatorio.