Drupal 6: Come posso aggiungere un link a un hook_menu ()?
-
14-11-2019 - |
Domanda
Ho il mio modulo e ho implementato un generacodictagcode, voglio che un menu-elemento reindirizzamento (il menu deve rimanere attivo) a una pagina Webform esistente, questa pagina è:? q= nodo / aggiungi / webform. .
$items['adminQuestion/create'] = array(
'title' => t('Crear Cuestionarios'),
'page callback' => "What i put here?",
'page arguments' => array('form_questionnaires'),
'access arguments' => array('access questionnaires'),
'type' => MENU_NORMAL_ITEM,
);
. Soluzione 3
Ecco la risposta:
$items['adminquestion/create'] = array(
'title' => 'Crear Cuestionarios',
'page callback' => 'questionnaires_page',
'access callback' => TRUE,
'type' => MENU_NORMAL_ITEM,
);
function questionnaires_page() {
module_load_include('inc', 'node', 'node.pages');
$output = node_add('webform');
return $output;
}
.
Dove Webform è un alias di nodo / aggiungi / webform. Grazie
Altri suggerimenti
Utilizzare drupal_goto
con ilPercorso per reindirizzare come parametro:
$items['adminQuestion/create'] = array(
'title' => t('Crear Cuestionarios'),
'page callback' => 'drupal_goto',
'page arguments' => array('node/add/webform'),
'access arguments' => array('access questionnaires'),
'type' => MENU_NORMAL_ITEM,
);
.
Nota inoltre che $ elementi ['amministrazioni'] è cattiva pratica: gli URL e i percorsi non dovrebbero mai essere case-sensitive: infatti: in Drupal Camelcase è molto scoraggiato in qualsiasi codice.
Se si intende Reindirizzamento HTTP per reindirizzamento, è possibile utilizzare semplicemente drupal_goto('path/to/webform')
ma non ha senso dal momento che è possibile utilizzare direttamente il percorso webform.IMO Quello di cui hai bisogno è un API di drupal_get_form()
-simile per Webform che è node_load()
, quindi Webform verrà caricato nel tuo percorso del menu:
.
// Assuming webform node with nid: 237
$items['adminQuestion/create'] = array(
'title' => t('Create Cuestionarios'),
'page callback' => 'node_load'
'page arguments' => array(237),
'access arguments' => array('access questionnaires'),
'type' => MENU_NORMAL_ITEM,
);
L'implementazione Webform di hook_theme()
si prende cura di temare il nodo da formare.In alternativa puoi semplicemente cambiare il percorso Webform, se possibile nel tuo caso.
Leggere i commenti, mi sembra che tu voglia creare un percorso alias / nodo / aggiungi / webform.Non è necessario implementare Hook_Menu.
Si crea alias at / admin / build / percorso / aggiungi (Accertarsi di avere il modulo del percorso abilitato).
Ecco cosa ho fatto per fare una parte "Aggiungi pagina nodo" parte di un gruppo di schede
$items['mynode/new'] = array(
'title' => 'New Node',
'page callback' => 'node_add',
'page arguments' => array('my_node_type'),
'access arguments' => array('create my_node_type content'),
'file' => 'node.pages.inc',
'file path' => drupal_get_path('module', 'node'),
'type' => MENU_LOCAL_TASK,
'weight' => 0,
);
.