Domanda

Voglio aggiungere una voce di menu lungo il lato della [vedi] [modifica] [file] ... link menu nella parte superiore della pagina del profilo utente. Quando un utente fa clic, dovrebbe comportarsi come gli altri, nel senso che non si limita a lanciare a una nuova pagina, ma la voce di menu che hanno cliccato (chiamiamolo "Button Funky") si resti grigiastre e l'utente nel zona profilo utente.

Ho creato un gancio come di seguito:

function my_module_funky() {
    // TODO: what to do?
}


function my_module_menu() {

    $items['user/%user/funky'] = array(
        'title' => t('Funky Button'),
        'page callback' => 'my_module_funky',
        'page arguments' => array(1),
        'access callback' => TRUE,
        'access arguments' => array('access funky button'),
        'type' => MENU_LOCAL_TASK,
    );

    return $items;
}

Quindi questo frammento di codice sopra aggiunge il pulsante - ma non riesco a capire come farlo per visualizzare come i pulsanti visualizzare e modificare visualizzare il loro contenuto. Grazie!

È stato utile?

Soluzione

Le vostre esigenze di callback per restituire la stringa contenente il codice HTML della pagina da visualizzare, ad esempio:

function my_module_funky($user){
 drupal_set_title('Funky page');
 return 'This is the $user value: <pre>'.var_export($user, true).'</pre>';
}

$user proviene dalla linea 'page arguments' => array(1) del vostro hook_menu applicazione che trasmette il valore del carattere jolly %user come primo argomento della pagina richiamata.


Se si tratta di una pagina complessa, si consiglia di creare una funzione tema con un file di modello, in questo modo è possibile memorizzare il codice della pagina in un file .tpl.php, che rende più facile da mantenere (soprattutto se il vostro modulo crea molte di queste pagine personalizzate).

Questo avrebbe anche il vantaggio di permettere temi per personalizzare l'output della pagina, fornendo la propria versione del file .tpl.php se il modulo diventa popolare o di altri moduli potrebbe pre-elaborare i pagina per aggiungere / modificare le variabili.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top