TAB,
qualcuno ha qualche esempio di come creare pagine fatte a TAB??
Ho spulciato un pò nei moduli già sviluppati,ma non sono riuscito a raccapezzarmici...
Grazie!
chupachups.
TAB
Mar, 03/06/2008 - 22:30
#1
TAB
Quando crei i menu in hook_menu, devi impostare:
'type' => MENU_LOCAL_TASK,
Esempio di un mio progetto (D6):
L'indirizzo della $items, determina la struttura, mentre MENU_LOCAL_TASK, ci dice che è un tab. Ovviamente puoi fare anche tab sotto tab
Ciao
Gianni
Grazie mille Gianni!!!
Domani a mente lucida (...forse) ci provo!!!
chupachups.
[ TAB - Risolto ]
Grazie Gianni...Tutto ok!
Ciao Gianni,
le variabili globali come si impostano? O meglio, se costruisco una pagina a tab, come faccio a passare l'id principale attraverso il quale reperisco le informazioni dal db? Ho visto che nel tuo codice usi le variabili
%bodules_progetto
: come si impostano nei menu tali variabili? COme si valorizzano?Grazie,
chupachups.
Le passi semplicemente nell'url e le recuperi con la funzione arg(x) dove x stà per l'argomento che vuoi prendere.
Esempio:
www.esempiosito.it?q=node/12
arg(1) = 12
Tornando al codice di esempio che ti ho mandato, quello è specifico per drupal 6. Mentre in drupal 5 puoi definire i percorsi di menu tipo:
bodules/%/legami
dove % indica qualsiasi valore
in drupal 6 le cose sono campiate. Tu puoi passare un valore verificato. Prendiamo il mio esempio (estrapolato dai menu dell'esempio del post precedente):
bodules/%bodules_progetto/legami
significa che il percorso sarà:
bodules/qualsiasi valore verificato dalla funzione "bodules_progetto_load"/legami
.....più difficile da spiegare che da fare.... ti spiego meglio:
tu definisci un percorso e metti il % + "un nome" che poi sarà il nome di una funzione. All'interno della funzione fai le verifiche del valore passato, e restituisci tru o false se questo è corretto. In questo modo la sicurezza è garantita.
Tornando all'esempio sopra io ho bodules/%bodules_progetto/legami in cui: "bodules/" è fisso, "%bodules_progetto" è il valore che passo e "/legami" è fisso. Ora, supponendo che voglio che l'argomento da passare sia un valore numerico, nella funzione di verifica controllo che il valore sia un numero.
Passiamo al concreto....
Nel menu, ad esempio, potrei avere:
a questa segue la funzione data dall'hook_load:
function bodules_progetto_load($pid) {
if (!is_numeric($pid)) {
return FALSE;
}
return $pid;
}
Come vedi, controllo se è un numero.
Di conseguenza url valido diventa:
www.example.com?q=bodules/12/legami
www.example.com?q=bodules/2/legami
www.example.com?q=bodules/100/legami
non valido:
www.example.com?q=bodules/asdasd/legami
www.example.com?q=bodules/òèàù/legami
www.example.com?q=bodules/12sd/legami
Spero sia chiaro ;-)
Ciao
Gianni
Sei stato chiarissimo e gentilissimo come sempre.
Faccio le mie prove e ti faccio sapere.
Grazie mille!!!
chupachups.