За последние 24 часа нас посетили 20708 программистов и 1108 роботов. Сейчас ищут 350 программистов ...

Дополнительные настройки в параметрах компонента Битрикс

Тема в разделе "PHP для новичков", создана пользователем onelawyer, 1 фев 2018.

Метки:
  1. onelawyer

    onelawyer Новичок

    С нами с:
    14 сен 2017
    Сообщения:
    8
    Симпатии:
    0
    Добрый день

    Инфоблок баннер и сам баннер уже добавлен в админке.
    Вывожу через шаблон код подключения компонента:
    Код (Text):
    1. <?$APPLICATION->IncludeComponent("bitrix:news.list", "rs_banners", Array(
    2.    "ACTIVE_DATE_FORMAT" => "d.m.Y",   // Формат показа даты
    3.       "ADD_SECTIONS_CHAIN" => "Y",   // Включать раздел в цепочку навигации
    4.       "AJAX_MODE" => "N",   // Включить режим AJAX
    5.       "AJAX_OPTION_ADDITIONAL" => "",   // Дополнительный идентификатор
    6.       "AJAX_OPTION_HISTORY" => "N",   // Включить эмуляцию навигации браузера
    7.       "AJAX_OPTION_JUMP" => "N",   // Включить прокрутку к началу компонента
    8.       "AJAX_OPTION_STYLE" => "Y",   // Включить подгрузку стилей
    9.       "CACHE_FILTER" => "N",   // Кешировать при установленном фильтре
    10.       "CACHE_GROUPS" => "Y",   // Учитывать права доступа
    11.       "CACHE_TIME" => "36000000",   // Время кеширования (сек.)
    12.       "CACHE_TYPE" => "A",   // Тип кеширования
    13.       "CHECK_DATES" => "Y",   // Показывать только активные на данный момент элементы
    14.       "DETAIL_URL" => "",   // URL страницы детального просмотра (по умолчанию - из настроек инфоблока)
    15.       "DISPLAY_BOTTOM_PAGER" => "Y",   // Выводить под списком
    16.       "DISPLAY_DATE" => "Y",
    17.       "DISPLAY_NAME" => "Y",
    18.       "DISPLAY_PICTURE" => "Y",
    19.       "DISPLAY_PREVIEW_TEXT" => "Y",
    20.       "DISPLAY_TOP_PAGER" => "N",   // Выводить над списком
    21.       "FIELD_CODE" => array(   // Поля
    22.          0 => "",
    23.          1 => "",
    24.       ),
    25.       "FILTER_NAME" => "",   // Фильтр
    26.       "HIDE_LINK_WHEN_NO_DETAIL" => "N",   // Скрывать ссылку, если нет детального описания
    27.       "IBLOCK_ID" => "1",   // Код информационного блока
    28.       "IBLOCK_TYPE" => "banners",   // Тип информационного блока (используется только для проверки)
    29.       "INCLUDE_IBLOCK_INTO_CHAIN" => "Y",   // Включать инфоблок в цепочку навигации
    30.       "INCLUDE_SUBSECTIONS" => "Y",   // Показывать элементы подразделов раздела
    31.       "MESSAGE_404" => "",   // Сообщение для показа (по умолчанию из компонента)
    32.       "NEWS_COUNT" => "20",   // Количество новостей на странице
    33.       "PAGER_BASE_LINK_ENABLE" => "N",   // Включить обработку ссылок
    34.       "PAGER_DESC_NUMBERING" => "N",   // Использовать обратную навигацию
    35.       "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",   // Время кеширования страниц для обратной навигации
    36.       "PAGER_SHOW_ALL" => "N",   // Показывать ссылку "Все"
    37.       "PAGER_SHOW_ALWAYS" => "N",   // Выводить всегда
    38.       "PAGER_TEMPLATE" => ".default",   // Шаблон постраничной навигации
    39.       "PAGER_TITLE" => "Новости",   // Название категорий
    40.       "PARENT_SECTION" => "",   // ID раздела
    41.       "PARENT_SECTION_CODE" => "",   // Код раздела
    42.       "PREVIEW_TRUNCATE_LEN" => "",   // Максимальная длина анонса для вывода (только для типа текст)
    43.       "PROPERTY_CODE" => array(   // Свойства
    44.          0 => "LINK",
    45.          1 => "TITLE",
    46.          2 => "DESCRIPTION",
    47.          3 => "BUTTON_TEXT",
    48.          4 => "",
    49.       ),
    50.       "RS_BACKGROUND_PROPERTY" => "BACKGROUND",   // Свойство с фоновым изображением
    51.       "RS_BANNER_HEIGHT" => "400px",   // Высота баннера
    52.       "RS_BANNER_IS_AUTOPLAY" => "N",   // Автоматическая смена слайдов
    53.       "RS_BANNER_TYPE" => $arParams["RS_BANNER_TYPE"],   // Тип баннера
    54.       "RS_BUTTON_TEXT_PROPERTY" => "BUTTON_TEXT",   // Свойство с текстом кнопки
    55.       "RS_DESC_PROPERTY" => "DESCRIPTION",   // Свойство с описанием
    56.       "RS_IMG_PROPERTY" => "IMAGE",   // Свойство с картинкой продукта
    57.       "RS_LINK_PROPERTY" => "LINK",   // Свойство с ссылкой
    58.       "RS_PRICE_PROPERTY" => "-",   // Свойство с ценой
    59.       "RS_SIDEBANNERS_IBLOCK_TYPE" => "catalog",   // Тип инфоблока боковых баннеров
    60.       "RS_TITLE_PROPERTY" => "TITLE",   // Свойство с заголовком
    61.       "SET_BROWSER_TITLE" => "Y",   // Устанавливать заголовок окна браузера
    62.       "SET_LAST_MODIFIED" => "N",   // Устанавливать в заголовках ответа время модификации страницы
    63.       "SET_META_DESCRIPTION" => "Y",   // Устанавливать описание страницы
    64.       "SET_META_KEYWORDS" => "Y",   // Устанавливать ключевые слова страницы
    65.       "SET_STATUS_404" => "N",   // Устанавливать статус 404
    66.       "SET_TITLE" => "N",   // Устанавливать заголовок страницы
    67.       "SHOW_404" => "N",   // Показ специальной страницы
    68.       "SORT_BY1" => "ACTIVE_FROM",   // Поле для первой сортировки новостей
    69.       "SORT_BY2" => "SORT",   // Поле для второй сортировки новостей
    70.       "SORT_ORDER1" => "DESC",   // Направление для первой сортировки новостей
    71.       "SORT_ORDER2" => "ASC",   // Направление для второй сортировки новостей
    72.       "STRICT_SECTION_CHECK" => "N",   // Строгая проверка раздела для показа списка
    73.       "COMPONENT_TEMPLATE" => "rs_banners",
    74.       "RS_SIDEBANNERS_IBLOCK_ID" => "#CATALOG_CATALOG_IBLOCK_ID#",   // Инфоблок с боковыми баннерами
    75.    ),
    76.    false
    77. );?>

    Сам компонент уже находится в 0:/www/site.ru/bitrix/templates/templat/components/bitrix/news.list/rs_banners/

    Самое интересное, то что в дополнительных настройках параметра компонента не отображаются свойства, которые прописаны в файле .parameters.php:

    Код (Text):
    1. <?php
    2. if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) {
    3.     die();
    4. }
    5.  
    6. use \Bitrix\Main\Localization\Loc,
    7.     \Bitrix\Main\Loader;
    8.    
    9. if(
    10.     !Loader::includeModule('iblock') ||
    11.     !Loader::includeModule('redsign.devfunc')
    12. ) {
    13.     return;
    14. }
    15.  
    16. Loc::loadMessages(__FILE__);
    17.  
    18.  
    19. $listProp = RSDevFuncParameters::GetTemplateParamsPropertiesList($arCurrentValues['IBLOCK_ID']);
    20.  
    21. $arIBlockTypes = array();
    22. $dbIBlockType = CIBlockType::GetList(
    23.    array("sort" => "asc"),
    24.    array("ACTIVE" => "Y")
    25. );
    26. while ($arIBlockType = $dbIBlockType->Fetch()) {
    27.     $arIBlockLangName = CIBlockType::GetByIDLang($arIBlockType["ID"], LANGUAGE_ID);
    28.     if($arIBlockLangName) {
    29.         $arIBlockTypes[$arIBlockType["ID"]] = "[".$arIBlockType["ID"]."] ".$arIBlockTypeLang["NAME"];
    30.     }
    31. }
    32.  
    33. $arIBlocksServices = array();
    34. $iblockFilter = (
    35.    !empty($arCurrentValues['RS_SIDEBANNERS_IBLOCK_TYPE'])
    36.    ? array('TYPE' => $arCurrentValues['RS_SIDEBANNERS_IBLOCK_TYPE'], 'ACTIVE' => 'Y')
    37.    : array('ACTIVE' => 'Y')
    38. );
    39. $dbIBlock = CIBlock::GetList(array('SORT' => 'ASC'), $iblockFilter);
    40. while ($arr = $dbIBlock->Fetch()) {
    41.    $arIBlocksServices[$arr['ID']] = '['.$arr['ID'].'] '.$arr['NAME'];
    42. }
    43.  
    44. $bannerTypes = array(
    45.     "wide" => Loc::getMessage("RS_BANNER_TYPE__WIDE"),
    46.     "center" => Loc::getMessage("RS_BANNER_TYPE__CENTER")
    47. );
    48.  
    49. $arSidebannerTypes = array(
    50.     "none" => Loc::getMessage("RS_SIDEBANNERS__NONE"),
    51.     "left" => Loc::getMessage("RS_SIDEBANNERS__LEFT"),
    52.     "right" => Loc::getMessage("RS_SIDEBANNERS__RIGHT"),
    53.     "both" => Loc::getMessage("RS_SIDEBANNERS__BOTH")
    54. );
    55.  
    56. $arTemplateParameters = array(
    57.  
    58.     "RS_BANNER_HEIGHT" => array(
    59.         "NAME" => Loc::getMessage("RS_BANNER_HEIGHT"),
    60.         "TYPE" => "STRING",
    61.         "DEFUALT" => "400px"
    62.     ),
    63.    
    64.     "RS_BANNER_TYPE" => array(
    65.         "NAME" => Loc::getMessage("RS_BANNER_TYPE"),
    66.         "TYPE" => "LIST",
    67.         "VALUES" => $bannerTypes,
    68.         "DEFUALT" => "wide"
    69.     ),
    70.    
    71.     "RS_BANNER_IS_AUTOPLAY" => array(
    72.         "NAME" => Loc::getMessage("RS_BANNER_IS_AUTOPLAY"),
    73.         "TYPE" => "CHECKBOX",
    74.         "DEFUALT" => "Y",
    75.         "REFRESH" => "Y"
    76.     ),
    77.    
    78.     "RS_TITLE_PROPERTY" => array(
    79.         "NAME" => Loc::getMessage("RS_TITLE_PROPERTY"),
    80.         "TYPE" => "LIST",
    81.         "VALUES" => $listProp['SNL'],
    82.         "DEFUALT" => "TITLE"
    83.     ),
    84.    
    85.     "RS_DESC_PROPERTY" => array(
    86.         "NAME" => Loc::getMessage("RS_DESC_PROPERTY"),
    87.         "TYPE" => "LIST",
    88.         "VALUES" => $listProp['SNL'],
    89.         "DEFUALT" => "DESCRIPTION"
    90.     ),
    91.    
    92.     "RS_PRICE_PROPERTY" => array(
    93.         "NAME" => Loc::getMessage("RS_PRICE_PROPERTY"),
    94.         "TYPE" => "LIST",
    95.         "VALUES" => $listProp['SNL'],
    96.         "DEFUALT" => "PRICE"
    97.     ),
    98.    
    99.     "RS_LINK_PROPERTY" => array(
    100.         "NAME" => Loc::getMessage("RS_LINK_PROPERTY"),
    101.         "TYPE" => "LIST",
    102.         "VALUES" => $listProp['SNL'],
    103.         "DEFUALT" => "LINK"
    104.     ),
    105.    
    106.     "RS_BACKGROUND_PROPERTY" => array(
    107.         "NAME" => Loc::getMessage("RS_BACKGROUND_PROPERTY"),
    108.         "TYPE" => "LIST",
    109.         "VALUES" => $listProp['F'],
    110.         "DEFUALT" => "BACKGROUND"
    111.     ),
    112.    
    113.     "RS_IMG_PROPERTY" => array(
    114.         "NAME" => Loc::getMessage("RS_IMG_PROPERTY"),
    115.         "TYPE" => "LIST",
    116.         "VALUES" => $listProp['F'],
    117.         "DEFUALT" => "PRODUCT_IMAGE"
    118.     ),
    119.    
    120.     "RS_BUTTON_TEXT_PROPERTY" => array(
    121.         "NAME" => Loc::getMessage("RS_BUTTON_TEXT_PROPERTY"),
    122.         "TYPE" => "LIST",
    123.         "VALUES" => $listProp['SNL'],
    124.         "DEFUALT" => "BUTTON_TEXT"
    125.     ),
    126.    
    127.     "RS_SIDEBANNERS_IBLOCK_TYPE" => array(
    128.         "NAME" => Loc::getMessage("RS_SIDEBANNERS_IBLOCK_TYPE"),
    129.         "TYPE" => "LIST",
    130.         "VALUES" => $arIBlockTypes,
    131.         "DEFUALT" => "services",
    132.         "REFRESH" => "Y"
    133.     ),
    134.    
    135. );
    136.  
    137. if(!empty($arCurrentValues['RS_SIDEBANNERS_IBLOCK_TYPE'])) {
    138.    
    139.     $arTemplateParameters['RS_SIDEBANNERS_IBLOCK_ID'] = array(
    140.         "NAME" => Loc::getMessage("RS_SIDEBANNERS_IBLOCK_ID"),
    141.         "TYPE" => "LIST",
    142.         "VALUES" => $arIBlocksServices
    143.     );
    144. }
    145.  
    146. if(!empty($arCurrentValues['RS_SIDEBANNERS_IBLOCK_ID'])) {
    147.    
    148.     $arTemplateParameters['RS_SIDEBANNERS'] = array(
    149.         "NAME" => Loc::getMessage("RS_SIDEBANNERS"),
    150.         "TYPE" => "LIST",
    151.         "VALUES" => $arSidebannerTypes
    152.     );
    153. }
    154.  
    155.  
    156. if(
    157.     !empty($arCurrentValues['RS_BANNER_IS_AUTOPLAY']) &&
    158.     $arCurrentValues['RS_BANNER_IS_AUTOPLAY'] == "Y"
    159. ) {
    160.    
    161.     $arTemplateParameters['RS_BANNER_AUTOPLAY_SPEED'] = array(
    162.         "NAME" => Loc::getMessage("RS_BANNER_AUTOPLAY_SPEED"),
    163.         "TYPE" => "STRING",
    164.         "DEFUALT" => "2000"
    165.     );
    166.    
    167.     $arTemplateParameters['RS_BANNER_AUTOPLAY_TIMEOUT'] = array(
    168.         "NAME" => Loc::getMessage("RS_BANNER_AUTOPLAY_TIMEOUT"),
    169.         "TYPE" => "STRING",
    170.         "DEFUALT" => "7000"
    171.     );
    172. }



    Подскажите, что сделано не правильно?