2

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

为此,我计划检查视图是否是文章并在这种情况下获取 id。但这在 sef 开启的情况下不起作用。

有没有办法得到这个。或在 SEF 为 ON 的情况下如何获取非 sef url。

4

3 回答 3

6

回答这个问题可能为时已晚。:) 但是其他有同样问题的人可以使用这个代码——你应该在系统插件中使用onAfterRoute事件。尝试这个-

function onAfterRoute()
{
   $option = JRequest::getVar('option');
   $view   = JRequest::getVar('view');
}

无论 SEF 是打开还是关闭,这都应该始终捕获“选项”和“视图”部分。同样,您可以捕获 url 的其他部分。

编辑:注意 Joomla 3.x 你应该使用 JInput

$jinput = JFactory::getApplication()->input;
$option = $jinput->get('option');
$view   = $jinput->get('view');
于 2012-01-12T07:50:50.663 回答
0

您可能还想检查视图变量,因为有更多布局,这意味着您不是专门在文章页面上,例如类别博客布局......

于 2011-06-15T19:39:07.037 回答
0

你可以variables在你想要的时候通过这条线得到你的:

$yourVariable = JRequest::getVar('yourVariableName');

请确保,router.phpyourComponentNameBuildRoute函数中将您的变量传递给$segment并在yourComponentNameParseRoute您返回时将您的变量放入函数中$var

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

于 2013-10-29T08:09:22.507 回答