Opencart фрагмент шаблона в отдельом файлe

Opencart фрагмент шаблона в отдельом файлe
    Цена
    Бесплатно

    • Разработано сообществом OpenCart
    • Документация включена

    Рейтинг

    Версии

    Обновлён
    28 Июля 2016

    Просмотров
    3161

    Автор

    Вводная. Есть шаблон Opencart, необходимо вынести какую либо его часть в отдельный файл, скажем /common/showcase.tpl. И так, по шагам.

    1. Создаем сам файл /common/showcase.tpl и вносим туда то, что мы хотим внести.

    2. Подключаем файл в home.tpl, для этого в месте ввода пишем

     

    <?php echo $showcase; ?>



    3. Создаем файл- контроллер в папке /catalog/controller/common/showcase.php со следующим содержимым:

    <?php
    class ControllerCommonShowcase extends Controller {
    protected function index() {
    $this->id = 'showcase';

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

    ?>


    4. Добавляем наш файл в catalog/controller/common/home.php

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



    5. Проверяем.

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


    Написать отзыв

    ludok, 07.02.2011, 19:18
    Харошая Заметка очень помогла добавить третий блок!!! <!--smile:request--><img style="vertical-align: middle;border: none;" alt="request" src="https://open-cart.org.ua/engine/data/emoticons/request.gif" /><!--/smile--> Спасибо автору