检查OpenCart 2.0中的模块位置

时间:2014-12-21 12:48:39

标签: php opencart opencart2.x

我使用以下代码检查模块位置。所以,它在OpenCart 1.5.6中运行良好。 When module Enabled in Content left & right panel so I want to hide javascript code in OpenCart

但是,它在Opencart 2.0中不起作用

如何在Opencart 2.0中实现?

.tpl文件中的

<?php if ($module['position'] == 'content_bottom' || $module['position'] == 'content_top') { ?>
//add your code Here
<?php } ?>

添加.php文件

$this->data['module'] = $setting;

2 个答案:

答案 0 :(得分:1)

我找到了简单的解决方案。这就像魅力一样。

第1步

在.tpl文件中。 (你想要那个模块.features.tpl等......)

<?php if ($module['position'] == 'content_bottom' || $module['position'] == 'content_top') { ?>
//add your code Here
<?php } ?>

第2步

添加.php文件(你想要那个模块.features.php等...)

$data['module'] = $setting;


步骤3(如果您使用的是OpenCart 2.0.0.0版本)

catalog / controller / common / { content_top,content_bottom,content_right,content_left }。php,

找到以下代码

if (isset($part[1]) && isset($setting[$part[1]])) {

并在

之后添加以下代码
$setting[$part[1]]['position'] = basename(__FILE__, '.php');


步骤3(如果您使用的是OpenCart 2.0.1.x.版本)

catalog / controller / common / { content_top,content_bottom,content_right,content_left }。php,

找到以下代码

$setting_info = $this->model_extension_module->getModule($part[1]);

并在

之后添加以下代码
$setting_info['position'] = basename(__FILE__, '.php');

答案 1 :(得分:0)

OC 2.0是一个重大更新,因此很多在OC 1.5.X上工作的东西可能无法在OC 2.X上运行

例如OC 1.5.x我们现在在OC 2.0中为模块添加布局我们将模块添加到布局所以在1.5.x中我们用来查找Module及其相关位置,现在我们发现 职位及其相关的模块。

假设您正在处理\catalog\controller\common\content_top.php

$modules = $this->model_design_layout->getLayoutModules($layout_id, 'content_top');

获取在特定布局的content_top上设置的所有模块

添加

$search_text = 'featured'; // name of the module you want to find
$matched_top = array_filter($modules, function($el) use ($search_text) {
        return ( strpos($el['code'], $search_text) !== false );
});

if(!empty($matched_top)){
    $data['truevalue'] = 1;
}

现在在content_top.tpl你可以编写脚本

if(isset($truevalue)){
//here goes script code
}

同样,您也可以为content_bottom

做同样的事情