3

我正在尝试构建一个简单的 joomla 组件,它将根据它的 API 显示自定义谷歌搜索结果。如何将 get 变量传递给 joomla 组件?可以说我已经具备了所谓的自定义视图的基础知识index.php?option=com_google&view=google,而不是我想将'q' $_GET变量传递给它 url 查询字符串应该如何?

4

2 回答 2

6

HTTP 请求方法GET与 URL 一起工作,因此变量总是在请求的 URL 中传递。

要添加q到您当前的 URL,您只需添加&q=SomeValueSomeValue适当百分比或 URL 编码的位置。

Joomla 1.5

如果您使用的是 Joomla!1.5 你可以JRequest用来获取任何由POSTor提交的变量的值GET,见this document on retrieving request variable

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

Joomla 1.6+

对于 Joomla!1.6+ 建议用于检索JInput已折旧的请求数据JRequest并用于 Joomla!3.0+ 你必须使用JInputasJRequest已删除功能,并将在接下来的几个版本中继续消失。

要使用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 回答