我继承了一个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和其他各种类/功能,但似乎找不到任何帮助。
答案 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');