Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取当前控制器joomla_Php_Joomla - Fatal编程技术网

Php 获取当前控制器joomla

Php 获取当前控制器joomla,php,joomla,Php,Joomla,我正在joomla 3.2中开发一个站点,我在多个视图中有相同的搜索栏,但有一些小的改动,所以我在一个独立的php文件中创建了它,并在不同的页面中使用它。 我想做的是根据当前激活的控制器更改一些次要信息 我尝试了$\u服务器['REQUEST\u URI'],它工作得很好,但似乎有点混乱。这是我的代码 function startsWith($haystack, $needle) { echo $needle; echo $haystack; return $needle === "" || s

我正在joomla 3.2中开发一个站点,我在多个视图中有相同的搜索栏,但有一些小的改动,所以我在一个独立的php文件中创建了它,并在不同的页面中使用它。 我想做的是根据当前激活的控制器更改一些次要信息 我尝试了$\u服务器['REQUEST\u URI'],它工作得很好,但似乎有点混乱。这是我的代码

function startsWith($haystack, $needle) {
echo $needle;
echo $haystack;
return $needle === "" || strpos($haystack, $needle) === 0;
}
然后我就这样测试

<?php if (startsWith($_SERVER['REQUEST_URI'], "/Immo/administrator/index.php?           option=com_xxo&controller=yy")) { show something ...}

JFactory::getApplication()->input->get('controller');就这么简单

对我来说,
JFactory::getApplication()->input->get('controller')
什么也不返回。我就是这样做的:

$controller = \JControllerLegacy::getInstance('whatever');

根据出色的Joomla体系结构,您不能忽略getInstance参数,尽管它会被忽略,因为会返回单例控制器实例。

Use:JRequest::get(“controller”)@拉胡克-不正确
JRequest
不推荐使用yes@Lodder,使用
JFactory::getApplication()->input->get('controller')我想是现在..谢谢我的代码现在更好了:)