Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

как сделать разные шаблоны компоненты?

00 голосов
5
Есть компонент, выводит список товаров. Хочу изменить компонент, чтобы в зависимости от какой то переменной, компонент бы вызывал отдельный файл. Как то передать все переменные и чтобы файл нарисовал таблицу со списком товара.
Думаю нужно создать 2-3 файла отдельно, с разными таблицами. И в главном файле компоненты, вызывать файл с таблицей и передать все значения.. как это сделать?

Сейчас я сделал, что у меня в самом компоненте выводится список товара. Единая таблица для всех товаров.
а хотелось бы сделать заранее шаблоны, и для каждой группы товара, выводилась бы в разных таблицах...
спросил 10 Июнь, 13 от asagava (680 баллов)

5 Ответы

00 голосов
Ну та можно для каждой переменной свой шаблон сделать,допустим переменные внешние:

if($_REQUEST['a'])
{
подключаем в компонент шаблон №1
}
elseif($_REQUEST['b'])
{
подключаем в компонент шаблон №2
}
или

if($_REQUEST['b'])
{
подключаем в компонент шаблон №3
}

а можно в шаблоне массивы нужных свойств собрать, а потом их выводить по условию, тогда будет один шаблон
ответил 10 Июнь, 13 от pit80 (140 баллов)
00 голосов
Это я понял.
А как подключить шаблон? :)
ответил 20 Июнь, 13 от asagava (680 баллов)
00 голосов
спасибо что ответил на мое сообщение.
ответил 24 Сен, 13 от asagava (680 баллов)
00 голосов
Ты не смотри на сайт сквозь Битрикс-редактор, редактируй сайт и читай в режиме рнр и такие вопросы возникать не будут
Вот так выглядит компонент меню

<?$APPLICATION->IncludeComponent(
"bitrix:menu",
"some_shablon",
Array(
"ROOT_MENU_TYPE" => "bottom",
"MAX_LEVEL" => "1",
"CHILD_MENU_TYPE" => "bottom",
"USE_EXT" => "Y",
"MENU_CACHE_TYPE" => "N",
"MENU_CACHE_TIME" => "3600",
"MENU_CACHE_USE_GROUPS" => "Y",
"MENU_CACHE_GET_VARS" => ""
)
);?>

Т.е. грубо говоря

<?$APPLICATION->IncludeComponent(
"bitrix:menu",
"some_shablon",
Array());?>
где some_shablon - это имя шаблона, но и естественно сама папка шаблона должна иметься.
Вот а это имя можеш менять логикой рнр.
ответил 24 Дек, 13 от pit80 (140 баллов)
00 голосов
В компоненте подключение шаблона производится методом
Код
$this->IncludeComponentTemplate();

В эту функцию можно передать название файла с шаблоном. Допустим,
Код
$this->IncludeComponentTemplate("new");

Будет подключаться файл шаблона new.php, который находится в папке текущего шаблона. По умолчанию подключается файл template.php . Собственно сюда можете вставлять значение некой переменной, которая указывает на шаблон. Это как бы подшаблоны или шаблон в шаблоне. Простой вариант для частного решения.
ответил 09 Апр, 14 от bazzet (620 баллов)

Похожие вопросы

0 голосов
8 ответов
0 голосов
3 ответов
0 голосов
2 ответов