Перейти к содержанию
ArtemPitov

Fatal error: новая позиция отображения модуля

Рекомендуемые сообщения

Доброго времени суток ! 

 

Вывел новую позицию, подключил в хедере, все работало отлично, но вот после установки модуля импорт товаров уже второй раз ошибка появляется.

Как бороться ?   

 

Fatal error: Call to a member function getModule() on a non-object in C:\OpenServer\domains\bs.loc\catalog\controller\common\content_newpos.php on line 54

 

Сам контроллер: 

<?php
class ControllerCommonContentNewpos extends Controller {
    public function index() {
        $this->load->model('design/layout');
 
        if (isset($this->request->get['route'])) {
            $route = (string)$this->request->get['route'];
        } else {
            $route = 'common/home';
        }
 
        $layout_id = 0;
 
        if ($route == 'product/category' && isset($this->request->get['path'])) {
            $this->load->model('catalog/category');
 
            $path = explode('_', (string)$this->request->get['path']);
 
            $layout_id = $this->model_catalog_category->getCategoryLayoutId(end($path));
        }
 
        if ($route == 'product/product' && isset($this->request->get['product_id'])) {
            $this->load->model('catalog/product');
 
            $layout_id = $this->model_catalog_product->getProductLayoutId($this->request->get['product_id']);
        }
 
        if ($route == 'information/information' && isset($this->request->get['information_id'])) {
            $this->load->model('catalog/information');
 
            $layout_id = $this->model_catalog_information->getInformationLayoutId($this->request->get['information_id']);
        }
 
        if (!$layout_id) {
            $layout_id = $this->model_design_layout->getLayout($route);
        }
 
        if (!$layout_id) {
            $layout_id = $this->config->get('config_layout_id');
        }
 
        $data['modules'] = array();
 
        $modules = $this->model_design_layout->getLayoutModules($layout_id, 'content_newpos');
 
        foreach ($modules as $module) {
            $part = explode('.', $module['code']);
 
            if (isset($part[0]) && $this->config->get($part[0] . '_status')) {
                $data['modules'][] = $this->load->controller('module/' . $part[0]);
            }
 
            if (isset($part[1])) {
                $setting_info = $this->model_extension_module->getModule($part[1]);
 
                if ($setting_info && $setting_info['status']) {
                    $data['modules'][] = $this->load->controller('module/' . $part[0], $setting_info);
                }
            }
        }
 
        if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/content_newpos.tpl')) {
            return $this->load->view($this->config->get('config_template') . '/template/common/content_newpos.tpl', $data);
        } else {
            return $this->load->view('default/template/common/content_newpos.tpl', $data);
        }
    }
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

после захода в админку данная трабла проходит, и в логах ничего нет 

 

Версия: опенкарт 2 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кажется разобрался, магазин был на режиме обслуживания и того ошибка 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тоже создал новую позицию похожим образом, все работает.

НО, не подключаются скрипты и стили в модулях, которые размещены в этой позиции

не работают addStyle и addScript

 

что я упустил?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тоже создал новую позицию похожим образом, все работает.

НО, не подключаются скрипты и стили в модулях, которые размещены в этой позиции

не работают addStyle и addScript

 

что я упустил?

уже разобрался

вызов позиции в хедере должен быть перед вызовом скриптов и стилей

Xo7kb0DoxOy2fyKqoeZqeMqPd7Zv7E.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

уже разобрался

вызов позиции в хедере должен быть перед вызовом скриптов и стилей

Xo7kb0DoxOy2fyKqoeZqeMqPd7Zv7E.png

Я за это время поумнел и набрался опыта, мой Вам совет, не добавляйте новые позиции это может плохо сказаться на производительности, панацея от этого всего JQuery и правильный подход к дизайну 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я за это время поумнел и набрался опыта, мой Вам совет, не добавляйте новые позиции это может плохо сказаться на производительности, панацея от этого всего JQuery и правильный подход к дизайну 

Ну, одну можно )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну, одну можно )

мое дело предупредить, а там смотрите как Вам угодно, как говориться "кто как хочет так и др****т"  :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.