Joomla.it Forum
Non solo Joomla... => Sviluppo => : willy_bis 11 May 2010, 07:23:27
-
Ci provo di nuovo
Volevo chiedere, come faccio ad avere più sottomenu ? Vi posteo un pezzettino del xml tanto per capirci:
<administration>
<!-- Administration Menu Section -->
<menu>mycontent</menu>
<submenu>
<menu task="categorie" layout="elenco">Tabella Categorie</menu>
<menu link="option=com_mycontent&task=add">Add</menu>
<menu link="option=com_mycontent&task=edit">Edit</menu>
<menu link="option=com_mycontent&task=cancel">Cancel</menu>
<menu link="option=com_mycontent&task=save">Save</menu>
</submenu>
<submenu>
<menu task="nazioni" layout="elenco">Tabella Nazioni</menu>
<menu link="option=com_mycontent&task=add">Add</menu>
<menu link="option=com_mycontent&task=edit">Edit</menu>
<menu link="option=com_mycontent&task=cancel">Cancel</menu>
<menu link="option=com_mycontent&task=save">Save</menu>
</submenu>
così come l'ho fatto non funziona o meglio dire mi fa vedere solo il primo blocco <submenu> ma ho bisogno di altri blocchi ! come potrei organizzare i menu per avere un entry point alla tabella1 con relativi entry a task add, cancel,edit,save ecc. poi un entry alla tabella 2 + relative operazioni + un entry a tabella 3 e così via? Mi daresti una dritta ? Grazie mille
-
ciao willy_bis,
non si può, e ciò che vuoi fare non si fa così!
i task si gestiscono con http://docs.joomla.org/JToolBarHelper
ciao,
marco
-
ciao willy_bis,
non si può, e ciò che vuoi fare non si fa così!
i task si gestiscono con http://docs.joomla.org/JToolBarHelper
ciao,
marco
Beh, Marco avevo capito che non si poteva perchè infatti non funziona. Non potresti dirmi qualcosina in più. Dirai che ci sono migliaia di esempi e ci credo ma non è che quello che ti serve lo trovi facilmente... Posso passare il nome di un controller dedicato ad ogni tabella in un submenu di tipo "option" ( <menu link="option=com_mycontent&controller=controllercat">Categorie</menu> e poi pescare nel entry point il nome del controller chiamato ? O è "brutto" farlo cosi? (o magari non si può neanche...) Ti chiedo solo un esempietto di solo 2 righe ;-) Grazie mille
-
<!-- Administration Menu Section -->
<menu>mycontent</menu>
<submenu>
<menu task="categorie" layout="elenco">Tabella Categorie</menu>
<menu task="nazioni" layout="elenco">Tabella Nazioni</menu>
</submenu>
a secondo del task carichi il controller, questo è un ibrido tra la programmazione 1.0 ed 1.5.
a mio parere è più corretto usare nell'entry point:
(nota: faccio riferimento alla guida per la creazione del componente com_hello, confronta il codice per raccapezzarti)
JSubMenuHelper::addEntry(JText::_('Tabella Categorie'), 'index.php?option=com_mycontent&controller=categorie')
JSubMenuHelper::addEntry(JText::_('Tabella Nazioni'), 'index.php?option=com_mycontent&controller=nazioni')
dopo di che verifichi che sia specificato un controller
[...]
if($controller = JRequest::getCmd('controller')) {
$path = JPATH_COMPONENT.DS.'controllers'.DS.$controller.'.php';
if (file_exists($path)) {
require_once $path;
} else {
$controller = '';
}
}
[...]
a questo punto view e model vengono da se (vedi sempre com_hello)
all'interno della view poi aggiungi il codice per edit/new/delete e così via
[...]
JToolBarHelper::editListX();
JToolBarHelper::addNewX();
JToolBarHelper::deleteList();
JToolBarHelper::publishList();
JToolBarHelper::unpublishList();
JToolBarHelper::back('back','index.php?option=com_mycontent');
[..]
più di così te lo scrivo io, ma il nostro compito qui è quello di insegnare a pescare :D
ciao,
marco
-
più di così te lo scrivo io, ma il nostro compito qui è quello di insegnare a pescare :D
ciao,
marco
eh no così non vale, mi hai detto troppo !!! 8) Grazie mille tante ma io ci ho provato e fnfatti ho fatto in modo di passarle il nome del controller nel submenu del xml e funziona (mi chiama il controller desiderato)
<!-- Administration Menu Section -->
<menu>myContent</menu>
<submenu>
<menu link="option=com_mycontent&controller=controllercat">Categorie
</menu>
<menu link="option=com_mycontent&controller=controllerliv">Livelli
</menu>
<menu link="option=com_mycontent&controller=controllerset">Settori
</menu>
<menu link="option=com_mycontent&controller=controllernaz">Nazioni
</menu>
</submenu>
e poi dentro l'entry come hai fatto tu. E' elegante così o secondo te è più efficiente usare i submenu helper per passare i controller ?
Grazie mille Marco, adesso che ho mangiato qualcosina mi sento in forma per andare a pesca ;D
-
ma io ci ho provato e infatti ho fatto in modo di passare il nome del controller...
bravo fanciullo (penso), mi piace la gente che ha spirito di iniziativa.
l'efficienza è la stessa, l'eleganza non si misura a questi livelli, la conformità è altra cosa.
penso sia preferibile usare JSubMenuHelper da ciò che hai scritto, ma non ne farò certo una guerra di religione. la regola base è attenersi il più scrupolosamente possibile alle regole di coding della piattaforma in cui si opera, questo almeno finché non si è in grado di travalicare le regole: quick & dirty diciamo noi vecchi (aimhè) programmatori C.
verifica di aver specificato il tipo di dato richiesto per il controller (command, non un generico variable), il resto è accademia.
non accettare mai un dato che non sia esattamente ciò che vuoi (http://docs.joomla.org/Retrieving_data_from_GET_and_POST_requests)
@newbies
quick & dirty significa 'efficiente, efficacie ma poco leggibile', non 'alla viva il parroco': tenetelo sempre a mente.
ciao,
marco
-
ma io ci ho provato e infatti ho fatto in modo di passare il nome del controller...
bravo fanciullo (penso), mi piace la gente che ha spirito di iniziativa.
l'efficienza è la stessa, l'eleganza non si misura a questi livelli, la conformità è altra cosa.
penso sia preferibile usare JSubMenuHelper da ciò che hai scritto, ma non ne farò certo una guerra di religione. la regola base è attenersi il più scrupolosamente possibile alle regole di coding della piattaforma in cui si opera, questo almeno finché non si è in grado di travalicare le regole: quick & dirty diciamo noi vecchi (aimhè) programmatori C.
ciao,
marco
Per quello di "fanciullo" ti devo proprio una cena ! scegli luogo e data ;-) Anch'io sono uno programmatore di C e Delphi da più di 30 anni ma ho fatto una bella fatica a capire questa struttura di joomla :'( e poi, caro Marco, ci sono un sacco di esempi ma documentazione chiara, possibilmente in italiano, e che spieghi in dettaglio la "semantica" di joomla, NON CE' o almeno io non ho trovato nulla. Che da i nomi delle classi joomla si prenda i nomi dei file php è proprio da brividi 8) Grazie di tutto. Chuido il thread, per ora!