Обратились сегодня ко мне клиенты с задачей. Суть задачи: на сайте, реализованном самоучкой на базе 1С-Битрикс размещаются публикации разного уровня сложности, публикации находятся в большом количестве инфоблоков, смена статуса настроена через статусы модуля документооборота. Необходимо разработать страницу, на которой будут выводиться все публикации, которые необходимо промодерировать.
Обратились сегодня ко мне клиенты с задачей. Суть задачи: на сайте, реализованном самоучкой на базе 1С-Битрикс размещаются публикации разного уровня сложности, публикации находятся в большом количестве инфоблоков, смена статуса настроена через статусы модуля документооборота. Необходимо разработать страницу, на которой будут выводиться все публикации, которые необходимо промодерировать.
Решение задачи.
Для начала создаем раздел, в котором будут выводиться все данные (пусть это будет moder). Раздел закрываем от неавторизованных пользователей, добавляем доступ только всем группам модераторов. Либо можно в самом начале страницы добавить проверку на принадлежность пользователей нужным группам:
if ( CSite::InGroup( array(1,7) ) ){ /*тут будет основной функционал*/ } else { ShowError('Данный раздел только для модераторов'); }
Далее необходимо отобрать список всех публикаций, который находятся на публикации (По умолчанию ID статуса "На модерации" = 4). В результате получаем функцию выборки данных:
function GetWFElements($statusID = 4) { if (!\Bitrix\Main\Loader::includeModule('iblock')) return false; $arSelect = Array("ID", "IBLOCK_ID", "IBLOCK_TYPE_ID", "NAME", "DATE_CREATE", "TIMESTAMP_X", "WF_STATUS_ID"); $arFilter = Array("WF_STATUS_ID" => IntVal($statusID), "SHOW_HISTORY" => 'Y', "ACTIVE" => "Y"); $res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect); $Items = array(); while ($arFields = $res->GetNext()) { $arFields['ADMIN_URL'] = '/bitrix/admin/iblock_element_edit.php?IBLOCK_ID=' . $arFields['IBLOCK_ID'] . '&type=' . $arFields['IBLOCK_TYPE_ID'] . '&ID=' . $arFields['ID'] . '&lang=ru&WF=Y'; $Items[$arFields['IBLOCK_ID']][] = $arFields; } return $Items; }
Функция получает список всех публикация во всех инфоблоках и раскидывает эти публикации по ID инфоблоков. Каждой публикации добавляем ссылку на редактирование публикации в административном разделе (ADMIN_URL)
Разработка сайта
Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки...
Сопровождение сайта
Вы можете подать заявку на сопровождение вашего сайта на базе 1С-Битрикс. Сопровождение включает в себя: проверка актуальности обновлений сайта, проверка актуальности резервной копии, консультации по сайту. Опишите в заявке, какие еще объемы планируются на сопровождении и на какой срок вы планируете заключить договор на сопровождение - мы подберем подходящий вам бюджет на сопровождение
Работы по сайту
Вы можете подать заявку на выполнение определенного объема работ по сайту. Опишите в заявке объем работ. Это может быть разработка какого-то нового функционала, доработки по имеющемуся функционалу, доработки под требования сео-специалистов. На основании заявки вам будет сформирован бюджет работ, а также названы сроки на выполнение тех или иных работ.