从URL重写中获取选项

时间:2017-07-17 19:43:26

标签: php joomla

我继承了一个Joomla网站,我试图了解它是如何工作的。在Joomla 2.5中可以使用的遗留代码不再适用于Joomla 3.7原始代码从$ _GET中提取URL信息以构建要显示的页面的正确链接,如下所示:

$search_str = array();
foreach ($_GET as $get_key => $get_value) {
    array_push($search_str, $get_key . '=' . $get_value);
}

它在2.5中工作正常但3.7中没有返回任何内容。我试图确定完成同样事情的新方法。我已经看过JURI和其他各种类/功能,但似乎找不到任何帮助。

1 个答案:

答案 0 :(得分:0)

要访问网址变量,请使用;

$app = JFactory::getApplication();
$var = $app->input->get(VARIABLE, DEFAULT);

不要指望网址是SEO友好的,因为你需要创建一个路由器 - https://docs.joomla.org/Supporting_SEF_URLs_in_your_component

修改

嗨戴尔。如果您die(print_r(JFactory::getApplication()->input));并查看数据对象,您将看到它的属性是您期望的url部分,但它们受到保护,因此您无法直接调用数据对象。相反,你需要单独使用它们,就像这样;

$app    = JFactory::getApplication();

$option = $app->input->get('option');
$view   = $app->input->get('view');
$layout = $app->input->get('layout');
$id     = $app->input->get('id');
$Itemid = $app->input->get('Itemid');