1

我为 Joomla 3.0 开发了一个前端系统插件,它替换了 HTML 格式对象的关键字。这在我的本地实验室环境中非常有效,但是当安装在托管站点 (WHM/cPanel) 上时,它会导致管理区域出现问题并阻止管理员编辑文章。

当管理员单击文章以编辑页面时,尝试加载然后似乎返回到同一页面。我只是将其开发为前端插件,因此我不应该影响管理区域。

该问题还阻止管理员创建任何新内容(新闻、博客、内容、菜单项等)

由于这不会在我的实验室中发生,我只能假设问题出在一些我可能需要启用/禁用的服务器设置上。我拥有对 WHM、cPanel 和 Joomla 的完全管理访问权限,因此可以根据需要更改设置...

我观察到的事情:

文章 URL 更改为:

/administrator/index.php?option=com_content&view=article&layout=edit&id=7

到:

/administrator/index.php?option=com_content&view=article&layout=edit&id=7

当插件启用时。请注意与号已更改为amp;。这让我觉得这可能与 UTF-8 字符编码已在 MySQL 中设置为utf8general_ci.

任何关于我可能需要更改的配置的指针都会受到极大的欢迎。

问题:如何防止这种情况发生(不删除我的基本插件)。

4

1 回答 1

0

如果您创建的系统插件只能在前端工作,您必须检查您的插件是否当前页面是前端。您可以使用此功能:JFactory::getApplication()->isSite()JFactory::getApplication()->isAdmin()

示例用法(我假设您使用onAfterRender事件):

function onAfterRender() {
    // Exit if current page is from Administration panel
    if( JFactory::getApplication()->isAdmin()  ) return;

    /* your plugin main code goes here*/
}

它将阻止您的插件修改管理面板输出。如果您已经完成了它并且它确实按照应有的方式进行了检查,那么您的问题的原因就不可能是那个插件。

于 2013-08-14T11:03:05.693 回答