我正在尝试构建一个简单的joomla组件,它会显示基于它的API的自定义Google搜索结果。我如何将get变量传递给joomla组件?让我说我已经有了调用自定义视图index.php?option=com_google&view=google
的基础知识,而不是我想将'q' $_GET
变量传递给它的url查询字符串应该是什么样的?
答案 0 :(得分:6)
HTTP request method GET
与URL一起使用,因此变量总是在请求的URL中传递。
要将q
添加到您当前的网址,您只需添加&q=SomeValue
,其中SomeValue
已恰当percent or URL encoded.
Joomla 1.5
如果您正在使用Joomla! 1.5您可以使用JRequest
获取POST
或GET
提交的任何变量的值,请参阅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