Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Joomla Menuitem SEF url_Php_Url_Joomla_Joomla Sef Urls - Fatal编程技术网

Php Joomla Menuitem SEF url

Php Joomla Menuitem SEF url,php,url,joomla,joomla-sef-urls,Php,Url,Joomla,Joomla Sef Urls,我正在乔姆拉建造一个模块。我正在使用模块参数(Menuitem)。它将菜单id返回到模块中的default.php文件 然后,我使用以下代码构建一个URL: $itemID = $params->get( 'url' ); // Menuitem id $application = JFactory::getApplication(); $menu = $application->getMenu(); $item = $menu->getItem( $itemID ); $li

我正在乔姆拉建造一个模块。我正在使用模块参数(Menuitem)。它将菜单id返回到模块中的default.php文件

然后,我使用以下代码构建一个URL:

$itemID = $params->get( 'url' ); // Menuitem id
$application = JFactory::getApplication();
$menu = $application->getMenu();
$item = $menu->getItem( $itemID );
$link = new JURI($item->link);
$link->setVar( 'ItemId', $itemid );
$articleLink = $link;
它工作正常,但链接不是SEF url:

它是:

index.php/component/content/article?id=25
而不是:

index.php/call-back-request

如何将url转换为SEF url?任何帮助都会显示出来

您可以使用JRoute创建sef url。 这可能对你有帮助-

$link=JRoute::_($link);
欲了解更多详情,请阅读以下内容:

更新:

//article sef
$catslug = $row->catid.':'.$row->category_alias;
$slug = $row->id.':'.$row->alias;
$link = JRoute::_(ContentHelperRoute::getArticleRoute($slug, $catslug));

嗨,谢谢你的回答,我试过了,但它似乎忽略了:(@SebastianOpperman:我已经更新了代码,请看一看。