5

我正在使用以下代码检查模块位置。所以,它在 OpenCart 1.5.6 中运行良好。 当模块在内容左右面板中启用时,我想在 OpenCart 中隐藏 javascript 代码

但是,它在 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;
4

2 回答 2

1

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

步骤1

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

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

第2步

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

$data['module'] = $setting;


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

目录/控制器/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.版本)

目录/控制器/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');
于 2014-12-23T11:53:46.480 回答
0

OC 2.0 是一个重大更新,所以很多在 OC 1.5.X 上工作的东西可能在 OC 2.X 上不起作用

例如,OC 1.5.x 我们过去在 OC 2.0 中向模块添加布局,现在在 OC 2.0 中我们向布局添加模块所以在 1.5.x 中我们曾经找到模块及其关联的位置,现在我们找到位置及其关联的模块。

假设你正在工作\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

于 2014-12-22T04:40:00.830 回答