如何在Joomla中为两个不同的视图包含一个php文件


How to include a php file for two different views in Joomla

我有以下良好的工作代码为我的Joomla网站加载一个php文件的某个视图:

$jinput = JFactory::getApplication()->input;
$view = $jinput->get('view');
if($view == 'pluginresponse'){
    include ("templates/default/datalayer.php");
    }

我想包括这个php文件的第二个视图也。我已经尝试过以下代码,但不幸的是缺乏php知识,所以它没有按预期工作:

$jinput = JFactory::getApplication()->input;
$view = $jinput->get('view');
$layout = $jinput->get('layout');
if(($view == 'pluginresponse') or ($view == 'cart' && $layout == 'order_done'){
    include ("templates/default/datalayer.php");
    }

我可以得到帮助或一些信息如何正确编码这个

谢谢

看起来你可能少了一个")"修改

    $jinput = JFactory::getApplication()->input;
$view = $jinput->get('view');
$layout = $jinput->get('layout');
if(($view == 'pluginresponse') or ($view == 'cart' && $layout == 'order_done'){
    include ("templates/default/datalayer.php");
    }

到this

$jinput = JFactory::getApplication()->input;
$view = $jinput->get('view');
$layout = $jinput->get('layout');
if(  ($view == 'pluginresponse') or 
     ($view == 'cart' && $layout == 'order_done') ){
    include ("templates/default/datalayer.php");
    }

除此之外,我没有安装joomla来测试这个,希望这有助于

到目前为止,我得到的最好的解决方案是完美地满足我的需求。如前所述,这可能不是最好的解决方案,但有效。

$jinput = JFactory::getApplication()->input;
$view = $jinput->get('view');
if(($view == 'pluginresponse') or (strpos($_SERVER['REQUEST_URI'], "cart/order_done") !== false) ){
    include ("templates/default/datalayer.php");
    }