我使用以下代码检查模块位置。所以,它在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;
答案 0 :(得分:1)
我找到了简单的解决方案。这就像魅力一样。
在.tpl文件中。 (你想要那个模块.features.tpl等......)
<?php if ($module['position'] == 'content_bottom' || $module['position'] == 'content_top') { ?>
//add your code Here
<?php } ?>
添加.php文件(你想要那个模块.features.php等...)
$data['module'] = $setting;
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');
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