Да причем вот так!
Два раза "запрос" на модули
// Old Opencart 1.5.6 Modules
$module_data = array();
$this->load->model('extension/extension');
$extensions = $this->model_extension_extension->getExtensions('module');
foreach ($extensions as $extension) {
$modules = $this->config->get($extension['code'] . '_module');
if ($modules) {
foreach ($modules as $module) {
if(isset($module['layout_id'])) {
if (($module['layout_id'] == $layout_id || $module['layout_id'] == 99999) && $module['position'] == $module_position && $module['status']) {
$module_data[] = array(
'code' => $extension['code'],
'setting' => $module,
'sort_order' => $module['sort_order']
);
}
}
}
}
}
// New OpenCart 2.0 Modules
$module_data2 = $this->model_design_layout->getLayoutModules($layout_id, $module_position);
// Combining Modules from OC 2.0 and OC 1.5.6
$module_data = array_merge($module_data, $module_data2);
Как итог модули, которые работают в opencart 1.5.x и opencart 2.x отдают настройки на этой позиции и схеме два раза
Ну, да ладно...
Но вместо того, чтобы проверить есть ли такой модуль в первом массиве и убрать во втором (или наоборот) то массив просто объединяются - как итог модули выводятся два раза подряд
И вообще конструкция в шаблоне
<?php echo $header;
$theme_options = $this->registry->get('theme_options');
$config = $this->registry->get('config'); ?>
<?php include('catalog/view/theme/'.$config->get('config_template').'/template/themeglobal/themeglobal_top.tpl'); ?>
...
<?php
$class = 3;
$row = 4;
if($theme_options->get( 'refine_search_number' ) == 2) { $class = 62; }
if($theme_options->get( 'refine_search_number' ) == 5) { $class = 25; }
if($theme_options->get( 'refine_search_number' ) == 3) { $class = 4; }
if($theme_options->get( 'refine_search_number' ) == 6) { $class = 2; }
Это просто .... нет слов. Павлики такое чудят и themeglobal под вьетнамских павликов закосили
Т е получается в шаблоне вызов моделей, контроллеров (лишние вызовы проверки layout!) (themeglobal_top.tpl ... а там require_once( DIR_TEMPLATE.$config->get('config_template')."/lib/module.php" ); $modules = new Modules($this->registry); и погнали дальше)... совершенно не по феншую
Криво, косо и коряво