Не все знают, что у стандартных компонентов 1С-Битрикс есть много красивых шаблонов, которые практически никогда не используются. Например, один начинающий разработчик спросил, как сделать такое же прикольное голосование как вот здесь http://webclub-nsk.ru/seminars/agenda/themes/ (в виде 5-ти квадратиков и выбора через AJAX). Проблема не нова - я уже писал о том, что многие возможности 1С-Битрикс остаются за кадром разработчиков. Не претендуя на лавры мега-программиста, хочу рассказать совсем о другом: 1. Что у стандартных компонентов часто есть другие шаблоны, а не только .default 2. Что комплексные компоненты "Новости" и "Каталог" иногда похожи, а иногда сильно различаются. [spoiler] Итак, задача: 1. Выдать голосовалку не в детальном товаре, а на странице со списком товаров. 2. Выдать ее на AJAX стандартными средствами
Ррешение (для среднеподготовленного человека, методом копипасты): В каталоге нет голосования. Зато оно есть в комплексном компоненте "Новости", в детальном просмотре элемента. Идем в этот шаблон и видим такой код:
Собственно. он нам и нужен. Копируем его куда-нибудь.
Теперь решаем задачу выдачи его в списке элементов. Например, в ТОП элементов каталога. Вставляем данный код в шаблон компонента "bitrix:catalog.top" куда-нибудь, где он должен выводиться. Я вставил его в таблицу после вывода <?=$arElement["PREVIEW_TEXT"]?>. Теперь нужно сделать, чтобы голосование выводилось для нужного нам элемента. Меняем строку
"ELEMENT_ID" => $ElementID,
на
"ELEMENT_ID" =>$arElement["ID"],
и - ура - голосовалка работает!
Теперь внешний вид. Идем в папку с шаблонами компонента bitrix:iblock.vote и видим там два шаблона: по-умолчанию (страшненький выпадающий список) и ajax. Вторая проблема тоже решена. В итоге вызов компонента получился вот таким:
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».