Рейтинг: 18.3561  
На голосовании
Предложил Пользователь 114664 17.02.2016 11:03:16

nPageWindow - Добавить параметр в стандартные компоненты news.list и пр.

Здравствуйте.

Довольно часто приходится менять кол-во столбцов в пагинации у компонетов news.list, catalog.section и пр., где используется компонет system.pagenavigation.

К сожалению сейчас, нет другого способа, кроме как кастомизировать компонент и вставлять строку:
$rsElement->nPageWindow = $arParams['nPageWindow'];
перед вызовом $rsElement->GetPageNavStringEx().

Например, для компонента news.list нужно сделать так, примерно на 366 строке:

$rsElement->nPageWindow = $arParams['nPageWindow'];

      $arResult["NAV_STRING"] = $rsElement->GetPageNavStringEx(
         $navComponentObject,
         $arParams["PAGER_TITLE"],
         $arParams["PAGER_TEMPLATE"],
         $arParams["PAGER_SHOW_ALWAYS"],
         $this,
         $navComponentParameters
      );
 
В итоге получим это: http://prntscr.com/a4c2aw
То есть, по середине 3 столбика, а не 5, как выводится по умолчанию.

Пожалуйста, голосуйте и оставляйте комментарии, чтобы битрикс добавил нужный параметр в настройки компонента и одну строку в код самого компонента.:!:
Рейтинг: 4.5036  
На голосовании
Предложил Пользователь 90886 20.03.2015 18:32:39

Опция «служебное» для свойств инфоблоков

Для чего? Легко и просто: чтобы в компонентах публичной части нельзя было выбрать свойства, указанные как служебные. Т.е. чтобы они не показывались на сайте, если клиент их, например, по незнанию выбрал. И просто чтобы мусора меньше.

Иначе получается, что многие модули или готовые решения создают свои свойства инфоблоков, которые явно не нужно выводить на сайте (напр., в шаблоне от Битрикс: "Тема форума для комментариев", "Количество комментариев к элементу", "Заголовок окна браузера и др" ).

Таких свойств бывает очень много, они создают мусор в настройках компонентов.
Рейтинг: 2.8596  
На голосовании
Предложил Пользователь 109495 16.06.2014 17:31:35

Методы для получения настроек и описания компонента в class.php

Раз уж переходим к ООП в компонентах, то давайте делать и следующие шаги в этом направлении. Похоронили component.php, покусимся и на .parameters.php, .desсription.php. Ведь фразы вроде “Есть возможность наследования компонент” не выдерживают критики. Да, когда нужно создать похожий компонент, мы копируем не три файла, а всего два (+ не забываем про шаблоны). Почему бы не сделать в CBitrixComponent два новых метода - getDescription и getParameters, которые бы заменили эти старые добрые процедурные файлы?

P.S. К слову о шаблонах - почему бы не давать компоненту пользоваться шаблонами родительского компонента?
Рейтинг: 37.8296  
На голосовании
Предложил Пользователь 2684 19.06.2012 10:37:11

Определение групп параметров в файле .parameters.php шаблона

Как известно, параметры полей в файле .parameters.php шаблона задаются через массив $arTemplateParameters, в том время как  в файле .parameters.php компонента поля задаются через массив $arComponentParameters['PARAMETERS'].

Однако группы в файле .parameters.php шаблона переопределить уже нельзя. Хочешь  — не хочешь, а придется использовать те, что были заданы в .parameters.php компонента.

Это создает неудобства при разработке. В результате дополнительные параметры, отвечающие за совершенно разные настройки (!!!), которыми разработчик снабжает шаблон, как правило вынужденно сваливаются в общую группу ADDITIONAL.

Особенно актуально для комплексных компонентов. Например, когда в настройки комплексного компонента forum на уровне шаблона включаются дополнительные настройки для использования своих или сторонних компонентов:

- использование закладок для сторонних соцсетей;
- обратные ссылки на ссылающиеся элементы инфоблоков (при обсуждении какого-либо элемента в форуме);
-  отображение всех публикаций по заданному тегу (темы форумов, форумы, группы форумов, элементы и группы разных инфоблоков, сообщения блогов, блоги, соцсети и т. д.);
и т. д.