首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打开sef时获取Joomla non SEF url

打开sef时获取Joomla non SEF url
EN

Stack Overflow用户
提问于 2011-06-15 15:26:48
回答 3查看 1.8K关注 0票数 2

我正在创建一个joomla系统插件。我想检查当前页面是否加载了任何文章。

为此,我计划检查view是否为文章,并在这种情况下获取id。但如果启用了sef,则此选项不起作用。

有没有办法拿到这个。或者在SEF打开的情况下如何获取非SEF url。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-12 15:50:51

这可能太晚了,无法回答。:)但其他有同样问题的人可以使用此代码-您应该在system plugin中使用onAfterRoute event。试试这个-

代码语言:javascript
复制
function onAfterRoute()
{
   $option = JRequest::getVar('option');
   $view   = JRequest::getVar('view');
}

这应该总是捕捉到'option‘和’‘部分,无论SEF是打开还是关闭。类似地,您可以捕获url的其他部分。

编辑:注意:对于Joomla 3.x,您应该使用JInput

代码语言:javascript
复制
$jinput = JFactory::getApplication()->input;
$option = $jinput->get('option');
$view   = $jinput->get('view');
票数 6
EN

Stack Overflow用户

发布于 2011-06-16 03:39:07

你可能还想检查view变量,因为有更多的布局,这意味着你不是专门在一个文章页面上,例如类别博客布局……

票数 0
EN

Stack Overflow用户

发布于 2013-10-29 16:09:23

你可以在你想要的时候用下面这行代码得到你的variables

代码语言:javascript
复制
$yourVariable = JRequest::getVar('yourVariableName');

只需确保,在yourComponentNameBuildRoute函数中的router.php上,将变量传递给$segment,并在返回$var时将变量放入yourComponentNameParseRoute函数中。

有关更多详细信息,请访问:http://docs.joomla.org/Supporting_SEF_URLs_in_your_component

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6354411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档