使用articleID从外部脚本获取文章的SEF路径

时间:2020-08-26 21:37:55

标签: php url joomla sef

我实际上是Joomla的新手,我需要从外部php脚本获取文章的SEF路径。我觉得我已经接近了,但是有些东西对我来说不起作用。我作为示例的初步代码是:

    require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
    require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
    $mainframe = JFactory::getApplication('site');
    $mainframe->initialise();

    $articleId=80;

    $url = JRoute::_("index.php?option=com_content&view=article&id=".$articleId);

使用此方法,JRoute返回路径/component/content/article?Id=80&Itemid=437。做完一些研究后,我读到我必须包含菜单的“ itemId”。我不确定JRoute返回给我的是“ 437”,还是我应该单独获取它。根据我的阅读,获取菜单项ID的一种方法是:

$link = 'index.php?option=com_content&view=article&id='.$articleId ;
$menu = $mainframe->getMenu();
$menuItem = $menu->getItems( 'link', $link, true );
$Itemid = $menuItem->id;

但是$Itemid返回空。我很高兴有人可以指导我。我需要的是构建文章的SEF路径,而不管其菜单结构如何。我的最终需要是根据外部php脚本的articleID创建指向该文章的链接。

0 个答案:

没有答案
相关问题