ti-enxame.com

Obter link completo do tipo de campo do item de menu

Estou desenvolvendo meu próprio componente e módulo de apresentação de slides para o Joomla. O componente é usado para selecionar os slides juntamente com legendas e links etc. O módulo mostra os slides.

No componente, para cada slide, ativei a opção de adicionar um link a cada slide. O tipo de campo que eu usei é o tipo de campo do item de menu http://docs.joomla.org/Menuitem_form_field_type

Isso parece adicionar o ID do item de menu ao banco de dados para esse slide específico.

Minha pergunta é; como faço para pegar esse ID do item de menu e usá-lo no módulo para obter o link completo do item de menu? Entenderei que provavelmente terei que pesquisar no banco de dados para encontrar o item de menu certo e depois encontrar o link apropriado, mas não sei ao certo por onde começar.

Se alguém pudesse me apontar na direção certa, eu apreciaria.

Obrigado :)

7
DesignSubway

Para obter o ID que suponho que você já saiba, você pode usar o seguinte:

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

Para obter o URL com base no ID, tente o seguinte:

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

Isso ecoará um URL do SEF. Se você deseja um URL padrão, basta usar echo $link;

Espero que isto ajude

5
Lodder

Isso pode ser feito um pouco mais rápido com menos codificação:

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

Isso retornará um URL relativo para o item de menu selecionado.

1
Artur Stępień