我在Joomla!3中开发了一个组件,并使用JRoute::_() & router.php使urls搜索引擎友好。就像这样:
/component/products/WIFI-IP-Phone/list-3
因此,我决定用一个干净的别名替换/component/products,并为组件主页创建了一个带有干净别名的菜单。现在,我在中的所有链接--组件(用JRoute::_()生成)是这样的:/escene/WIFI-IP-Phone/list-3和它的完美,这正是我想要的,但是.我在三个不同的模块中使用JRoute::_(),我用它生成链接,问题是当我在主页或除组件页面之外的任何其他页面时,这些模块中生成的链接与在组件页面中生成的链接不同。
当我在主页或其他:/component/products/WIFI-IP-Phone/list-3
当我在组件页面中时:/escene/WIFI-IP-Phone/list-3
任何人都可以解释原因或帮助我制作像/escene/WIFI-IP-Phone/list-3这样的所有urls?
发布于 2014-05-14 09:30:20
这是因为当页面显示是同一个组件时,您在组件router.php中编写的函数会被执行为链接。但是有一种方法可以完成这一任务。
1. First create a new menu in the menu manager and create all links in this menu.
2. Publish this menu but do not assign any position.
3. In this way you would get a sef url for each link.
if(JFactory::getConfig()->get('sef')) {
echo 'My sef url';
} else {
echo 'Dynamic url';
}通过这种方式,Joomla将通过存储的别名检测组件,从而完成您的url解析。如果您还有进一步的疑问,请告诉我。
https://stackoverflow.com/questions/23180612
复制相似问题