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

Как добавить страницу "модуля"?

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

Добрый день.

 

Пытаюсь сделать страницу отзывов о магазине (там много нюансов в требованиях, ничего из того что нашёл готового не подошло). 

 

Суть вопроса такова.

 

Я создал контроллер /extensions/module/shopreview.php назвал его ControllerExtensionModuleShopReview. Пробую открыть маршрут index.php?route=extensions/module/shopreview - pagenotfound.

Пробовал information/shopreview.php и ControllerInfromationShopReview - тоже 404.

Пробовал добавлять макет в админке с такими адресами - не работает. 

 

Что вообще я делаю не так? Как добавить свой контроллер, чтобы он выводил свою отдельную страницу?

 

OCStore 2.3.1, oeo_pro включен.

Изменено пользователем Xscout

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


Ссылка на сообщение
Поделиться на другие сайты
<?php
class ControllerInformationShopReview extends Controller {
    public function index($setting) {
        // Языковые настройки
        $this->load->language('extension/module/shopreview');
 
        $data['heading_title'] = $this->language->get('heading_title');
        $data['text_tax'] = $this->language->get('text_tax');
        $data['button_cart'] = $this->language->get('button_cart');
        $data['button_wishlist'] = $this->language->get('button_wishlist');
        $data['button_compare'] = $this->language->get('button_compare');
 
        $this->load->model('tool/image');
        $this->load->model('extension/module/shopreview');
 
        $data['reviews'] = array();
 
        // if (!$setting['limit']) {
        //  $setting['limit'] = 4;
        // }    
 
        // if ($data['products']) {
        //  return $this->load->view('extension/module/shopreview_list', $data);
        // }
 
        $data['column_left'] = $this->load->controller('common/column_left');
        $data['column_right'] = $this->load->controller('common/column_right');
        $data['content_top'] = $this->load->controller('common/content_top');
        $data['content_bottom'] = $this->load->controller('common/content_bottom');
        $data['footer'] = $this->load->controller('common/footer');
        $data['header'] = $this->load->controller('common/header');
 
        $this->response->setOutput($this->load->view('extension/module/shopreview_list', $data));
    }
}

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


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

Добрый день! Для того что бы добавить страницу модуля необходимо добавить следующий файлы:

 

1) Контроллер для работы с настройками модуля

admin/controller/extension/module/shopreview.php

 

2) Локализация с текстом полей которые буду использоваться во view

admin/language/ru-ru/extension/module/shopreview.php

 

3) Теперь сама view

admin/view/template/extension/module/shopreview.tpl

 

4) Возможно понадобится модель

admin/model/extension/module/shopreview.php

 

5) Если нужно отображать на сайте этот модуль необходим добавить нужные файлы в

catalog/controller/extension/module/shopreview.php

catalog/model/extension/module/shopreview.php

catalog/language/ru-ru/extension/module/shopreview.php

catalog/view/theme/default/extension/module/shopreview.php

 

Чтобы было более понятно, возьмите уже существующий модуль, например admin/controller/extension/module/account, и по образу и подобии добавляйте нужные фалы

 

После того как вы добавите все необходимое, в админке уже будет возможность подключить модуль и настроить его

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


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

Вот с админской частью у меня всё сразу заработало. Настройки сохраняются, модель подгружается - всё ок.

 

А вот на стороне каталога... Предположим я добавил контроллер в catalog/controller/extension/module/shopreview.php. Какое должно быть имя у контроллера, ControllerExtensionModuleShopReview? Как мне потом к его методам обратиться для отображения страницы, route=extension/module/shopreview/index?

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


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

 Xscout, ControllerExtensionModuleShopreview. В конце контроллера отправляешь все данные в соответствующий шаблон:

return $this->load->view('extension/module/shopreview', $data);

В твоем случае он должен лежать в view/extension/module/shopreview.tpl

Модуль надо вставлять через админку, там есть соответствующий функционал

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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