Телеграм: @camouf_ru Почта: mihail@bazarow.ru

Создание блога с комментариями, оценками и просмотрами на сайте с 1С-Битрикс

Просмотров: 22047

Если на вашем сайте требуется создание раздела с блогом или новостями, статьями. Записям в которых, посетители смогу ставить оценки и комментировать, сделать это достаточно просто. В этом видео расскажу как. За основу возьмем стандартный компонент новостей

Для реализации нам понадобятся

Компонент написания и вывода комментариев

Воспользуемся стандартным компонентом "Комментарии к товарам" который используется в торговом каталоге


<?$APPLICATION->IncludeComponent(
	 "bitrix:catalog.comments",
	 "",
	 Array(
	 "AJAX_POST" => "Y",
	 "BLOG_TITLE" => "",
	 "BLOG_URL" => $arParams['BLOG_URL'],
	 "BLOG_USE" => "Y",
	 "CACHE_GROUPS" => $arParams['CACHE_GROUPS'],
	 "CACHE_TIME" => "3600",
	 "CACHE_TYPE" => "A",
	 "COMMENTS_COUNT" => "10",
	 "COMPONENT_TEMPLATE" => ".default",
	 "ELEMENT_CODE" => "",
	 "ELEMENT_ID" => $arResult['ID'],
	 "EMAIL_NOTIFY" => "N",
	 "FB_APP_ID" => $arParams['FB_APP_ID'],
	 "FB_COLORSCHEME" => "light",
	 "FB_ORDER_BY" => "reverse_time",
	 "FB_TITLE" => "Facebook",
	 "FB_USE" => "N",
	 "FB_USER_ADMIN_ID" => "",
	 "IBLOCK_ID" => "14",
	 "IBLOCK_TYPE" => "Russian",
	 "PATH_TO_SMILE" => "",
	 "SHOW_DEACTIVATED" => "N",
	 "SHOW_RATING" => "N",
	 "SHOW_SPAM" => "Y",
	 "TEMPLATE_THEME" => "black",
	 "URL_TO_COMMENT" => "",
	 "VK_API_ID" => $arParams['VK_API_ID'],
	 "VK_TITLE" => "В контакте",
	 "VK_USE" => "N",
	 "WIDTH" => ""
	),
	$component,
	Array(
	 'HIDE_ICONS' => 'Y'
	)
);?>

Показ количества просмотров в компоненте новостей

В шаблоне компонента


<?=$arItem['SHOW_COUNTER']?>
<?=$arResult['SHOW_COUNTER']?>

Показ количества комментариев

В шаблоне компонента


<?if (strlen($arItem['DISPLAY_PROPERTIES']['BLOG_COMMENTS_CNT']['DISPLAY_VALUE'])>0):?>
<?echo $arItem['DISPLAY_PROPERTIES']['BLOG_COMMENTS_CNT']['DISPLAY_VALUE'];?>
<?else:?>
			0
<?endif;?>
<?if (strlen($arResult['DISPLAY_PROPERTIES']['BLOG_COMMENTS_CNT']['DISPLAY_VALUE'])>0):?>
<?echo $arResult['DISPLAY_PROPERTIES']['BLOG_COMMENTS_CNT']['DISPLAY_VALUE'];?>
<?else:?>
			0
<?endif;?>

Дата создания элемента в правильном формате

Можно воспользоваться вызовом $arResult["DATE_CREATE"] ($arItem). Но тогда выводится в формате "12 Ноябрь 2015 12:31:17", намного красивее выводить в формате сайта, Например "12 Ноября 2015"


<?
	$arParams["DATE_CREATE"]="j F Y";
	echo CIBlockFormatProperties::DateFormat($arParams["DATE_CREATE"], MakeTimeStamp($arResult["DATE_CREATE"], CSite::GetDateFormat()));
?>

Оценка элемента звездочками

В шаблон компонента вставляем компонент голосования


<?
	$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");
?>

Видео: как создать блог на сайте

Денис Разгонов 09.02.2021
Цитата
Михаил Базаров написал:
Цитата
Татьяна Токаренко написал:
Добрый день!
А если в редакции Бизнес выходит уведомление "В настройках компонента не выбран ни один тип комментариев", то с чем это может быть связано?
В общем-то, ответ в уведомлении. В настройках компонента, выберите тип комментариев- куда они должны записываться и ID элемента, к которому эти комментарии должны относиться  
у меня стоит галочка "использовать комментарии", в "Название блога латинскими буквами" прописал название блога, но ничего так и не работает. пишет "В настройках компонента не выбран ни один тип комментариев". Все работало, пока не сделали выгрузку товаров из 1С, но в настройках компонента ничего не меняли, инфоблок и id товаров остались те же. В чем может быть проблема?
Ростислав Черненко 02.10.2019
А есть ли у Вас урок, как с нуля создать раздел "блог" на сайте?
Михаил Базаров 02.10.2019
Цитата
Павел Сидоров написал:
Доброго времени суток.
Есть один нюанс при такой настройке ЧПУ как показано на видео.

Например
Каталог ЧПУ (относительно корня сайта): /recipes/
Страница общего списка: index.php
Страница раздела: #SECTION_CODE#/
Страница детального просмотра: #ELEMENT_CODE#.php

Тогда при обращении к  несуществующей странице  (например /recipes/авбгдеёж) будет отдаться не 404, а страница общего списка.

Если знаете как исправить данный недостаток подскажите пожалуйста.

Спасибо

Попробуйте, в настройках компонента, в самом низу- поставить галки:
- Отдавать 404
- Показ специальной страницы (пропишите путь к странице ошибки)
Должно бы помочь, но не точно.
Павел Сидоров 02.10.2019
Доброго времени суток.
Есть один нюанс при такой настройке ЧПУ как показано на видео.

Например
Каталог ЧПУ (относительно корня сайта): /recipes/
Страница общего списка: index.php
Страница раздела: #SECTION_CODE#/
Страница детального просмотра: #ELEMENT_CODE#.php

Тогда при обращении к несуществующей странице (например /recipes/авбгдеёж) будет отдаться не 404, а страница общего списка.

Если знаете как исправить данный недостаток подскажите пожалуйста.

Спасибо
Pashka Kent 07.02.2019
Не могу найти как вывести аватар пользователя в этих комментариях. Подскажите, где включить или в каком шаблоне смотреть?
Pashka Kent 07.02.2019
Цитата
Татьяна Токаренко пишет:
Добрый день!
А если в редакции Бизнес выходит уведомление "В настройках компонента не выбран ни один тип комментариев", то с чем это может быть связано?
Там три типа комментариев. Собственные на сайте, комменты вк и фб. Вам надо выбрать хотя бы один тип. Если в настройках компонента не видите галочки рядом с Комментарии на сайте, посмотрите установленные модули и есть ли там Блоги.
Sergey Savchuk 24.10.2018
Михаил здравствуйте!
подскажите, а как реализовать рейтинг не с элементами, а с разделами инфоблока?
Возможно ли это? Например с компонентом iblock vote?

Спасибо
Михаил Базаров 11.09.2018
Цитата
Татьяна Токаренко написал:
Добрый день!
А если в редакции Бизнес выходит уведомление "В настройках компонента не выбран ни один тип комментариев", то с чем это может быть связано?
В общем-то, ответ в уведомлении. В настройках компонента, выберите тип комментариев- куда они должны записываться и ID элемента, к которому эти комментарии должны относиться  
Татьяна Токаренко 11.09.2018
Добрый день!
А если в редакции Бизнес выходит уведомление "В настройках компонента не выбран ни один тип комментариев", то с чем это может быть связано?
Alexandr Bezrukov 04.08.2018
Уточнение. Версия - бизнес. Ссылка не видна - ugruni.ru/blog/
Alexandr Bezrukov 04.08.2018
Михаил, добрый день!

Все сделал как вы показали в видео, но не фурычит - нет ссылки "Добавить комментарий".
https://ugruni.ru/blog/polza_perepelinogo_myasa_kak_vybrat_khranit_i_gotovi­t/
demon_sl 05.05.2018
Спасибо за уроки!
поправте код в В шаблон компонента "Оценка элемента звездочками", не хватает круглой скобки завершения инклуда, что вызывает ошибку.
Михаил Базаров 27.11.2017
Цитата
Александр Силуянов написал:
Забыл добавить: Редакция СТАРТ
В старте нет модуля блогов, не получится. Минимум стандарт нужен
Александр Силуянов 27.11.2017
Забыл добавить: Редакция СТАРТ
Александр Силуянов 27.11.2017
Доброго дня Михаил.
У меня как всегда не заработало с первого раза)) И со второго))
Пишет: В настройках компонента не выбран ни один тип комментариев.


Код
 <?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>

<?$APPLICATION->IncludeComponent(
"bitrix:catalog.comments",
"",
Array(
"AJAX_POST" => "Y",
"BLOG_TITLE" => "",
"BLOG_URL" => $arParams['BLOG_URL'],
"BLOG_USE" => "Y",
"CACHE_GROUPS" => $arParams['CACHE_GROUPS'],
"CACHE_TIME" => "3600",
"CACHE_TYPE" => "A",
"COMMENTS_COUNT" => "50",
"COMPONENT_TEMPLATE" => ".default",
"ELEMENT_CODE" => "",
"ELEMENT_ID" => $arResult['ID'],
"EMAIL_NOTIFY" => "N",
"FB_APP_ID" => $arParams['FB_APP_ID'],
"FB_COLORSCHEME" => "light",
"FB_ORDER_BY" => "reverse_time",
"FB_TITLE" => "Facebook",
"FB_USE" => "N",
"FB_USER_ADMIN_ID" => "",
"IBLOCK_ID" => "4",
"IBLOCK_TYPE" => "content",
"PATH_TO_SMILE" => "",
"SHOW_DEACTIVATED" => "N",
"SHOW_RATING" => "N",
"SHOW_SPAM" => "Y",
"TEMPLATE_THEME" => "black",
"URL_TO_COMMENT" => "",
"VK_API_ID" => $arParams['VK_API_ID'],
"VK_TITLE" => "В контакте",
"VK_USE" => "N",
"WIDTH" => ""
),
$component,
Array(
'HIDE_ICONS' => 'Y'
)
);?>





 
usr 26.06.2017
Подскажите, кто знает, простой способ добавить пользовательское свойство для комментарию. Например текстовый инпут "рейтинг".

Стандартная форма по шаблону .default
https://db.tt/zXofaoPK5L
usr 26.06.2017
Цитата
usr пишет:
Михаил, есть возможность премодерации комментариев, чтобы запись публиковалась только после одобрения админом?
Все нашел, процедура описана в разделе "Модерация комментариев": https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=42&LESSON_ID=3669
usr 26.06.2017
Михаил, есть возможность премодерации комментариев, чтобы запись публиковалась только после одобрения админом?
Михаил Базаров 04.06.2017
Цитата
Andrey Churashev написал:
Цитата
За основу возьмем стандартный компонент новостей


Появился обновленный компонент *блог*  
Это именно многопользовательские блоги. В примере делаю однопользовательский.
Andrey Churashev 04.06.2017
Цитата
За основу возьмем стандартный компонент новостей


Появился обновленный компонент *блог*  

Работы из портфолио

В портфолио не публикуются работы, доля моего участия в которых менее 80%.
Часто обращаются за доработками уже существующих проектов или реализацией не стандратного функционала на готовых сайтах.