【问题标题】:Joomla module, get menu id (ItemID) from article IDJoomla 模块,从文章 ID 中获取菜单 ID(ItemID)
【发布时间】:2013-05-23 13:54:05
【问题描述】:

所以我已经搜索和测试了几天,似乎无法弄清楚这一点。

我正在使用 K2 内容模块,我需要将“?Itemid=111”添加到它为页面上的“阅读更多”链接生成的 URL 的末尾。

这不是默认完成的,我已经找到了可以添加它的位置,但是我在从文章 ID 中获取 Itemid(菜单 ID)时遇到了问题。

我找到的所有示例都使用

$app   = JFactory::getApplication();
$menu   = $app->getMenu();
$activeId = $menu->getActive()->id;

只要您在该页面上,它就可以正常工作,并且它确实添加了正确的 ID。但是对于我在主页上显示的文章,它无法正常工作,因为它添加了主页的 Itemid(菜单 ID),而不是该特定文章的菜单 ID。

在使用 Joomla 1.5 之前,我会使用内置函数

getItemid($articleid)

这似乎不再适合我了。

有没有人有任何建议或任何人都可以指出我如何解决这个问题以及“从文章 id 获取菜单 id (Itemid)”的正确方向?

谢谢!!!

【问题讨论】:

    标签: php joomla joomla2.5 joomla-extensions


    【解决方案1】:

    您可以使用以下代码获取文章的菜单 ID-

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

    希望这会有所帮助。

    【讨论】:

    • 它不适用于 joomla 3.2。你能再检查一次吗?
    • 现在这就是我所说的发现!谢谢
    猜你喜欢
    • 2011-10-12
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 2014-04-13
    • 2012-10-14
    • 1970-01-01
    • 2013-05-15
    相关资源
    最近更新 更多