Меню

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

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

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

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

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

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

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

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

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

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

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

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

Спасибо
Михаил Базаров:
Попробуйте, в настройках компонента, в самом низу- поставить галки:
- Отдавать 404
- Показ специальной страницы (пропишите путь к странице ошибки)
Должно бы помочь, но не точно.
Виталий:
Здравствуйте. Перехожу в конкретный раздел, где создан элемент, и на странице раздела выдаёт ошибку

Cannot find 'news' template with page 'section'
Виталий:
Разобрался. Отсутсвовал section.php в комплкксном компоненте

Стоимость и сроки разработки сайтов и приложений

Окончательная стоимость и сроки разработки сайта формируются после обсуждения деталей на этапе заказа. Как правило, они редко выходят за обозначенные ниже рамки.

Интернет-магазин: индивидуальная разработка от 350 000 руб.
от 5-ти недель

Cоздание интернет-магазина на 1С-Битрикс. Разработка с нуля, оптимизация кода и производительности под конкретный проект и требования. Реализация любого функционала без ограничений готовых решений.

Интернет-магазин: на готовом решении от 60 000 руб.
от 7-ми дней

Готовое решение — вариант для тех, кто не хочет тратить много средств на индивидуальный проект, и не имеет серьезных требований к сайту. Магазин, быстро запускается на базе одного из 200-та готовых решений

Мобильное приложение от 400 000 руб.
от 1-го месяца

Разработка кроссплатформенного мобильного приложения, которое не уступает нативным решениям как в производительности, так и пользовательском опыте. Публикуется в AppStore, GooglePlay и RuStore

Опросник на разработку. После ознакомления, задам уточняющие вопросы и оценю проект по стоимости и срокам разработки.