Я использовал следующий код для проверки положения модуля. Итак, он работает нормально в OpenCart 1.5.6. Когда модуль включен в содержании слева & правая панель, поэтому я хочу скрыть JavaScript-код в 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;
Я нашел простое решение. Это работает как шарм.
в файле .tpl. (Вы хотите, чтобы этот модуль. Featured.tpl и т. Д …)
<?php if ($module['position'] == 'content_bottom' || $module['position'] == 'content_top') { ?>
//add your code Here
<?php } ?>
добавить в .php файл (вы хотите, чтобы этот модуль. featured.php и т. д …)
$data['module'] = $setting;
каталог / контроллер / общие / {content_top, content_bottom, content_right, content_left} .Php,
Найдите код ниже
if (isset($part[1]) && isset($setting[$part[1]])) {
и добавьте следующий код после
$setting[$part[1]]['position'] = basename(__FILE__, '.php');
каталог / контроллер / общие / {content_top, content_bottom, content_right, content_left} .Php,
Найдите код ниже
$setting_info = $this->model_extension_module->getModule($part[1]);
и добавьте следующий код после
$setting_info['position'] = basename(__FILE__, '.php');
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
также