我正在尝试构建一个简单的 joomla 组件,它将根据它的 API 显示自定义谷歌搜索结果。如何将 get 变量传递给 joomla 组件?可以说我已经具备了所谓的自定义视图的基础知识index.php?option=com_google&view=google
,而不是我想将'q' $_GET
变量传递给它 url 查询字符串应该如何?
问问题
8041 次
2 回答
6
HTTP 请求方法GET
与 URL 一起工作,因此变量总是在请求的 URL 中传递。
要添加q
到您当前的 URL,您只需添加&q=SomeValue
已SomeValue
适当百分比或 URL 编码的位置。
Joomla 1.5
如果您使用的是 Joomla!1.5 你可以JRequest
用来获取任何由POST
or提交的变量的值GET
,见this document on retrieving request variable。
$q = JRequest::getVar('q');
Joomla 1.6+
对于 Joomla!1.6+ 建议用于检索JInput
已折旧的请求数据,JRequest
并用于 Joomla!3.0+ 你必须使用JInput
asJRequest
已删除功能,并将在接下来的几个版本中继续消失。
要使用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
于 2013-02-04T21:51:06.517 回答
1
您可以使用以下方法在 Joomla 中检索 GET 变量:
$q = JRequest::getVar( 'q' );
这将适用于如下所示的 url 字符串:
index.php?option=com_google&view=google&q=some_variable
于 2013-02-04T21:07:22.160 回答