Перейти к содержанию
vladimir.adm

[Решено] Отображение определенной категории в другом виде

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

Добрый день.

 

Нужно отобразить одну из категорий в виде, отличном от дефолтного.

 

В админке сделал новый макет (layout), прописал путь product/category_new  и для конкретной категории выбрал его.

Пробовал:

1) в контроллере category.php проверять по category_id и выводить другой шаблон (category_new.tpl)

2) во вьюхе (category.tpl) делать проверку на id категории и вместо стандартного вывода категории вывести обычный текст, но передать из контроллера во вью category_id не получается: на странице появляется ошибка"undefined variable"

3) создавать контроллер category_new.php и вью category_new.tpl и в меню изменял путь на "product/category_new": в результате пустая страница

 

Видимо упускаю какую-то деталь и не понимаю до конца.

Может новый макет не нужно в админке создавать?

Подскажите, пожалуйста, как правильно это сделать.

Заранее спаисбо!

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


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

Видел это расширение, вроде пробовал делать по аналогии, но не помню что именно не получилось.

 

Попробую еще раз и отпишусь.

 

Спасибо за оперативный ответ!

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


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

К сожалению, попытка адаптировать это решение под opencart 2.0 не увенчалась успехом:

1) создал файл category_40.tpl (для категории с id=40)

2) подкорректировал файл контроллера:

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category_' . $this->request->get['path'] . '.tpl')) {
$this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/product/category_' . $this->request->get['path'] . '.tpl', $data));
                        } elseif (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) {
$this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/product/category.tpl', $data));
                        } else {
$this->response->setOutput($this->load->view('default/template/product/category.tpl', $data));
                        }
Все равно отображается стандартный шаблон. :( Изменено пользователем shoputils
code в code

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


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

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


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

Получилось! Спасибо, Tom.

 

Спасибо halfhope за столь полезный модуль.  ^_^

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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