我正在创建一个joomla系统插件。我想检查当前页面是否加载了任何文章。
为此,我计划检查view是否为文章,并在这种情况下获取id。但如果启用了sef,则此选项不起作用。
有没有办法拿到这个。或者在SEF打开的情况下如何获取非SEF url。
发布于 2012-01-12 15:50:51
这可能太晚了,无法回答。:)但其他有同样问题的人可以使用此代码-您应该在system plugin中使用onAfterRoute event。试试这个-
function onAfterRoute()
{
$option = JRequest::getVar('option');
$view = JRequest::getVar('view');
}这应该总是捕捉到'option‘和’‘部分,无论SEF是打开还是关闭。类似地,您可以捕获url的其他部分。
编辑:注意:对于Joomla 3.x,您应该使用JInput
$jinput = JFactory::getApplication()->input;
$option = $jinput->get('option');
$view = $jinput->get('view');发布于 2011-06-16 03:39:07
你可能还想检查view变量,因为有更多的布局,这意味着你不是专门在一个文章页面上,例如类别博客布局……
发布于 2013-10-29 16:09:23
你可以在你想要的时候用下面这行代码得到你的variables:
$yourVariable = JRequest::getVar('yourVariableName');只需确保,在yourComponentNameBuildRoute函数中的router.php上,将变量传递给$segment,并在返回$var时将变量放入yourComponentNameParseRoute函数中。
有关更多详细信息,请访问:http://docs.joomla.org/Supporting_SEF_URLs_in_your_component
https://stackoverflow.com/questions/6354411
复制相似问题