0

我正在开发基于 Joomla 2.5 框架的客户网站。关闭 SEF(内置 Joomla 版本)的 URL 是这个

http://(domain)/index.php?option=com_cmgroupbuying&view=alldeals&Itemid=424

用户有一个插件,我在插件中内置了这条线,以确保该插件仅在使用组件 CMGroupbuying 时触发

$component = JRequest::getCmd('option'); 
if($component =='com_cmgroupbuying')
               { etc etc }

关闭 SEF 后,效果非常好。但是,当我启用 SEF 时,URL 变成

http://(domain)/the-deals

并且检测脚本停止工作,因为 joomla 不再看到 Request::getCmd('option'); 等于 com_cmgroupbuying 说实话,这让我大吃一惊,因为它使 getCmd 完全没用。我已经看到其他人在这方面受到了影响,但没有找到任何明确的解决办法

任何人都可以提供一个解决方案来阻止 Joomla 的这种失败,或者通过 DEFAULT htaccess 错误中的一些额外行来保留此信息以供 joomla 使用,或者可能检测部分 URL,以便我可以从中构建检测器脚本

4

1 回答 1

0

感谢 joomla 堆栈交换上的用户修复

该函数被包装在一个

class plgSystemCMMobileDetection extends JPlugin {
    public function onAfterInitialise()
    {

这意味着该功能在路由完成之前被触发。我刚刚将 onAfterInitialise 更改为 onAfterRoute,一切都已修复!

于 2014-06-13T18:44:56.330 回答