it-swarm-eu.dev

Ottieni il link completo dal tipo di campo della voce di menu

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 :)

7
DesignSubway

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

5
Lodder

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.

1
Artur Stępień