opencart php custom page без использования функции «информация» - PullRequest
10 голосов
/ 29 февраля 2012

Я хочу создать пользовательскую страницу в opencart.

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

Я не совсем понимаю, как это сделать.

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

Не мог бы кто-нибудь объяснить или указать мне некоторые инструкции о том, как это сделать, пожалуйста.

Спасибо

Ответы [ 2 ]

17 голосов
/ 29 февраля 2012

Это довольно просто сделать, если честно.Вам нужно создать контроллер для вашего файла, назвав его в зависимости от папки и имени файла.Например, common/home.php имеет

Class ControllerCommonHome extends Controller

Доступ к нему осуществляется с помощью index.php?route=common/home и доступ к методу index().Если вы хотите вызвать другой метод, например, foo, вам нужно определить метод как

public function foo() {
    // Code here
}

и вызвать его, используя index.php? Route = common / home / foo

Что касается рендеринга вида, это немного сложнее.В основном вам нужно добавить все это в конец вашего метода контроллера

    if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/new_template_file.tpl')) {
        $this->template = $this->config->get('config_template') . '/template/common/new_template_file.tpl';
    } else {
        $this->template = 'default/template/common/new_template_file.tpl';
    }

    $this->children = array(
        'common/column_left',
        'common/column_right',
        'common/content_top',
        'common/content_bottom',
        'common/footer',
        'common/header'
    );

    $this->response->setOutput($this->render());

, который будет отображать /catalog/view/theme/your-theme-name/template/common/new_template_file.tpl Если этот файл не существует, он попытается использовать тот же путь в default папка темы

Я бы порекомендовал вам взглянуть на несколько контроллеров и шаблонов, чтобы понять, откуда все идет правильно, но это основная суть того, как это работает

0 голосов
/ 17 февраля 2015

Пожалуйста, следуйте этой странице, я надеюсь, что более полное использование.

http://code.tutsplus.com/tutorials/create-a-custom-page-in-opencart--cms-22054

OpenCart построен с использованием популярного шаблона программирования MVC. К этому шаблону добавлен еще один элемент с именем «L» - языковая часть, поэтому в OpenCart он называется шаблоном MVC-L. Я не буду вдаваться в подробности шаблона MVC, поскольку это очень популярный и знакомый шаблон проектирования, и мы подробно рассмотрели его в других руководствах.

...