Урок 9 Определяем позицию модуля

Основная цель определения позиции — возможность выводить разные шаблоны оформления модулей для разных позиций. Например, имеем модуль новинок. Мы хотим, чтобы в боковой колонке вывод товаров имел один вид, а в нижней части страницы — другой. Безусловно, эту задачу можно решить при помощи css. Однако как быть, когда при выводе в сайдбаре нам необходимо добавить ряд элементов. Вот тут то нам и поможет данный вариант.
Необходимо будет внести несколько правок. Прежде всего, в контроллере необходимой позиции, которые находятся по адресу
1 |
catalog/controller/common |
сразу после
1 |
$setting_info = $this->model_extension_module->getModule($part[1]); |
нам необходимо будет добавить следующий код
1 |
$setting_info['position'] = 'название_позиции'; |
где «название_любой» позиции, это произвольное значение на латинице (можно использовать цифры). Вместо слеша можно использовать тире. Никаких пробелов, никаких кириллических символов и знаков препинаний.
Теперь в контроллере нужного модуля сразу перед
1 |
$data['characters'] = $setting['characters']; |
необходимо добавить
1 |
$data['position'] = $setting['position']; |
Теперь самое время переходить к шаблону модуля. Здесь достаточно задать условие следующего вида
1 2 3 4 5 6 |
<?php if ( isset($position ) ) { if( $position == 'block2' ) { ?> нужный код <?php } else { ?> нужный код <?php } } ?> |
Ну а все остальное будет зависеть от полета Вашей фантазии)) Удачи!
Оставить комментарий