it-swarm-es.tech

Obtener el enlace completo del tipo de campo del elemento de menú

Estoy desarrollando mi propio componente y módulo de presentación de diapositivas para Joomla. El componente se utiliza para seleccionar las diapositivas junto con subtítulos y enlaces, etc. El módulo muestra las diapositivas.

En el componente, para cada diapositiva, he habilitado la opción de agregar un enlace a cada diapositiva. El tipo de campo que he usado es el tipo de campo del elemento de menú http://docs.joomla.org/Menuitem_form_field_type

Esto parece agregar la identificación del elemento de menú a la base de datos para esa diapositiva en particular.

Mi pregunta es; ¿Cómo tomo este ID de elemento de menú y luego en el módulo lo uso para obtener el enlace completo del elemento de menú? Entenderé que probablemente tendré que buscar en la base de datos para encontrar el elemento de menú correcto y luego encontrar el enlace apropiado, pero no estoy muy seguro de por dónde empezar.

Si alguien pudiera señalarme en la dirección correcta, lo agradecería.

Gracias :)

7
DesignSubway

Para obtener la identificación que supongo que ya sabe, puede usar lo siguiente:

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

Para obtener la URL basada en la ID, intente esto:

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

Esto hará eco de una URL SEF. Si desea una URL estándar, simplemente use echo $link;

Espero que esto ayude

5
Lodder

Se puede hacer un poco más rápido con menos codificación:

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

Esto devolverá una URL relativa para el elemento del menú seleccionado.

1
Artur Stępień