Как в Битриксе вывести голосование в нужном месте детальной страницы?

Сайт на Битрикс, редакция Старт.

В настройках компонента Новости, ставлю галочку Разрешить голосование. На детальной появляется голосование, но в самом низу, поскольку в detail.php "bitrix:iblock.vote" расположен под "bitrix:news.detail".

Хочу разместить голосование под заголовком размещенной новости.

Пробовал брать код из detail.php

<?$APPLICATION->IncludeComponent(
	"bitrix:iblock.vote",
	"stars",
	Array(
		"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
		"IBLOCK_ID" => $arParams["IBLOCK_ID"],
		"ELEMENT_ID" => $ElementID,
		"MAX_VOTE" => $arParams["MAX_VOTE"],
		"VOTE_NAMES" => $arParams["VOTE_NAMES"],
		"CACHE_TYPE" => $arParams["CACHE_TYPE"],
		"CACHE_TIME" => $arParams["CACHE_TIME"],
	),
	$component
);?>

и вставлять в bitrix/news.detail/.default/template.php но так не работает.

Пишет: "Фотография не найдена."

Подскажите пожалуйста как вывести голосование в нужном месте детальной страницы?
  • Вопрос задан
  • 3115 просмотров
Решения вопроса 1
nodot
@nodot Автор вопроса
В итоге, помогли в техподдержке. Проблема была в том, что $ElementID определяется только в момент подключения bitrix:news.detail

<?$ElementID = $APPLICATION->IncludeComponent(
   "bitrix:news.detail",


из-за этого компонент голосования не получал ID элемента, для которого нужно выводить рейтинг.

По аналогии со стандартным шаблоном компонента каталога можно разместить компонент голосования внутри шаблона bitrix:news.detail, а не внутри bitrix:news.

<?$APPLICATION->IncludeComponent(
            "bitrix:iblock.vote",
            "stars",
            array(
                "IBLOCK_TYPE" => $arParams['IBLOCK_TYPE'],
                "IBLOCK_ID" => $arParams['IBLOCK_ID'],
                "ELEMENT_ID" => $arResult['ID'],
                "ELEMENT_CODE" => "",
                "MAX_VOTE" => "5",
                "VOTE_NAMES" => array("1", "2", "3", "4", "5"),
                "SET_STATUS_404" => "N",
                "DISPLAY_AS_RATING" => $arParams['VOTE_DISPLAY_AS_RATING'],
                "CACHE_TYPE" => $arParams['CACHE_TYPE'],
                "CACHE_TIME" => $arParams['CACHE_TIME']
            ),
            $component,
            array("HIDE_ICONS" => "Y")
        );?>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@SirBataneg
веб-разработчик
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы