我在Joomla开发了一个组件! 3,我使用了JRoute::_()
& router.php使网址搜索引擎友好。像这样的东西:
/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
??
答案 0 :(得分:1)
这是因为当页面显示属于同一组件时,您在组件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解析。 如果您有任何进一步的询问,请告诉我。