在joomla组件中传递get变量

时间:2013-02-04 19:49:09

标签: variables joomla get components

我正在尝试构建一个简单的joomla组件,它会显示基于它的API的自定义Google搜索结果。我如何将get变量传递给joomla组件?让我说我已经有了调用自定义视图index.php?option=com_google&view=google的基础知识,而不是我想将'q' $_GET变量传递给它的url查询字符串应该是什么样的?

2 个答案:

答案 0 :(得分:6)

HTTP request method GET与URL一起使用,因此变量总是在请求的URL中传递。

要将q添加到您当前的网址,您只需添加&q=SomeValue,其中SomeValue已恰当percent or URL encoded.

Joomla 1.5

如果您正在使用Joomla! 1.5您可以使用JRequest获取POSTGET提交的任何变量的值,请参阅this document on retrieving request variable

$q = JRequest::getVar('q');

Joomla 1.6 +

对于Joomla! 1.6+建议use JInput to retrieve request data JRequest折旧,而Joomla! 3.0+你必须使用JInput作为JRequest has funcitonality removed并在接下来的几个版本中继续消失。

要使用JInput,您可以获取当前对象或使用当前Joomla应用程序链接来检索变量。

获取JInput

$jAp = JFactory::getApplication();  // Having the Joomla application around is also useful
$jInput = $jAp->input;  // This is the input object
$q = $jInput->get('q');  // Your variable, of course get() support other option...

通过链接使用JInput

$jAp = JFactory::getApplication();  // Having the Joomla application around is also useful
$q = $jAp->input->get('q');  // Your variable

答案 1 :(得分:1)

您可以使用以下方法检索Joomla中的GET变量:

$q = JRequest::getVar( 'q' );

这适用于url字符串,如下所示:

index.php?option=com_google&view=google&q=some_variable