it-swarm.com.de

Vollständigen Link vom Feldtyp des Menüelements abrufen

Ich entwickle meine eigene Diashow-Komponente und ein eigenes Modul für Joomla. Die Komponente wird verwendet, um die Folien zusammen mit Beschriftungen und Links usw. auszuwählen. Das Modul zeigt die Folien an.

In der Komponente habe ich für jede Folie die Option aktiviert, zu jeder Folie einen Link hinzuzufügen. Der von mir verwendete Feldtyp ist der Feldtyp des Menüelements http://docs.joomla.org/Menuitem_form_field_type

Dies scheint die Menüelement-ID für diese bestimmte Folie zur Datenbank hinzuzufügen.

Meine Frage ist; Wie nehme ich diese Menüpunkt-ID und verwende sie dann im Modul, um den vollständigen Menüpunkt-Link zu erhalten? Ich werde verstehen, dass ich wahrscheinlich die Datenbank durchsuchen muss, um den richtigen Menüpunkt zu finden und dann den entsprechenden Link zu finden, aber ich bin nicht ganz sicher, wo ich anfangen soll.

Wenn jemand mich in die richtige Richtung weisen könnte, würde ich es schätzen.

Vielen Dank :)

7
DesignSubway

Um die ID zu erhalten, von der ich annehme, dass Sie sie bereits kennen, können Sie Folgendes verwenden:

$itemid = $params->get('field_name');

Versuchen Sie Folgendes, um die URL basierend auf der ID abzurufen:

$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);

Dies gibt eine SEF-URL aus. Wenn Sie eine Standard-URL wünschen, verwenden Sie einfach echo $link;

Hoffe das hilft

5
Lodder

Mit weniger Programmieraufwand geht es etwas schneller:

JRoute::_('index.php?Itemid='.$itemid);

Dies gibt eine relative URL für das ausgewählte Menüelement zurück.

1
Artur Stępień