Sto sviluppando il mio componente di presentazione e modulo per Joomla. Il componente viene utilizzato per selezionare le diapositive insieme a didascalie e collegamenti, ecc. Il modulo mostra le diapositive.
Nel componente, per ogni diapositiva ho abilitato l'opzione per aggiungere un collegamento a ciascuna diapositiva. Il tipo di campo che ho usato è il tipo di campo della voce di menu http://docs.joomla.org/Menuitem_form_field_type
Questo sembra aggiungere l'id della voce di menu al database per quella particolare diapositiva.
La mia domanda è; come posso prendere questo ID voce di menu e quindi nel modulo usarlo per ottenere il collegamento completo della voce di menu? Capirò che probabilmente dovrò cercare nel database per trovare la voce di menu corretta e quindi trovare il collegamento appropriato, ma non sono sicuro da dove cominciare.
Se qualcuno potesse indicarmi la giusta direzione, lo apprezzerei.
Grazie :)
Per ottenere l'ID che presumo tu sappia già, puoi utilizzare quanto segue:
$itemid = $params->get('field_name');
Per ottenere l'URL in base all'ID, provare questo:
$itemid = $params->get('field_name'); //change the field name to whatever you have
$app = JFactory::getApplication();
$menu = $app->getMenu();
$link = $menu->getItem($itemid)->link;
echo JRoute::_($link);
Questo farà eco a un URL SEF. Se desideri un URL standard, utilizza semplicemente echo $link;
Spero che sia di aiuto
Può essere fatto un po 'più veloce con meno codding:
JRoute::_('index.php?Itemid='.$itemid);
Ciò restituirà un URL relativo per la voce di menu selezionata.