Xscout

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

5 сообщений в этой теме

Добрый день.

 

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

 

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

 

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

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

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

 

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

 

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

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

 

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

0

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


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

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

 

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

0

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


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

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

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

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

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

0

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


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

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

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!


Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.


Войти

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

    Ни один зарегистрированный пользователь не просматривает эту страницу.