Xscout

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

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

Xscout    0

Добрый день.

 

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

 

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

 

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

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

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

 

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

 

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

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

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


Ссылка на сообщение
Поделиться на другие сайты
Xscout    0
<?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));
    }
}

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


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

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

 

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, и по образу и подобии добавляйте нужные фалы

 

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

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


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

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

 

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

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


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

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

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

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

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

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


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

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

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

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

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

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

Войти

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

Войти


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

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