Идеи пользователя 91132

Рейтинг: 7.4395  
На голосовании
Предложил Пользователь 91132 06.07.2014 23:53:05

Добавить параметр «Композитный режим» к компонентам

Сейчас, для того чтобы заставить страницу работать в композитном режиме нужно, как минимум, залезть в шаблон каждого компонента и добавить строчку

$this->setFrameMode(false);

Когда таких компонентов много — процесс затягивается... А бывает , что просто приходится умышленно копировать какой-нибудь bitrix:socserv.auth.form к себе в шаблон сайта, ради того, чтобы всё остальное заработало...

Слишком много лишних действий. Можно и нужно сделать проще...

Например, ко всем компонентам добавить параметр a la "CACHE_TYPE":
"COMPOSITE" => "ALLOW" | "USE" | "SELF" | "DENY"
И рассмотреть возможные кейсы:
  1. Компонент «разрешает» работать остальным;
  2. Компонент сам работает в композитном режиме*;
  3. На усмотрение разработчика (разработчик сам правит шаблон компонента и расставляет динамические/статические области);
  4. Компонент запрещает «всё и всем»;
*Предполагает, что система сама оборачивает шаблон компонента в:
$this->setFrameMode(false);
$frame = $this->createFrame()->begin(); 

/*Код шаблона компонента*/ 
 

$frame->end();

 
Рейтинг: 0.4972  
Новая
Предложил Пользователь 91132 29.04.2013 15:38:50

Добавить возможность использовать совпадения $1,..,$N из CONDITION в параметре PATH

Требуется разбирать URL вида «/branches/BRANCH_CODE/»

Задаем в urlrewrite.php правила:

array(    "CONDITION" => "#^\/branches\/(.*)\/#",
   "PATH"    => "/$1/index.php",
   ),
..но увы не работает. Так как совпадения $1..$N доступны только в параметре RULE

В итоге приходится захламлять urlrewrite.php правилами вида:

array(    "CONDITION" => "#^\/branches\/BRANCH_CODE1\/#",
   "PATH"    => "/BRANCH_CODE1/index.php",
   ), и т.д.
Рейтинг: 63.1005  
Новая
Предложил Пользователь 91132 16.08.2012 11:49:00

Реализовать возможность заполнения календаря событий из ИБ(аналог bitrix:news.calendar)

Добрый день!

Была поставлена задача: заполнить календарь (с функциональностью почти как у GoogleCalendar) из инфоблока (элементы ИБ — это различные мероприятия(имеют свои даты проведения)).
Т.к. по умолчанию CCalendar работает только с событиями пришлось ковырять модуль календарь и писать своё АПИ для «превращения» данных из элементов ИБ в «события календаря».

Просьба рассмотреть идею создания компонента, с  возможностью заполнения календаря событий из ИБ(аналог bitrix:news.calendar) с соответствующими пожеланиями в функционале:
  1. Название события — ссылка и ведет на страницу детального просмотра.
  2. Для одного элемента ИБ может быть только одно событие.
  3. Вывод HTML вынесен в шаблон компонента.
Рейтинг: 32.5827  
На голосовании
Предложил Пользователь 91132 09.04.2012 16:46:18

Добавить возможность фильтровать вывод свойств типа E или G в форме просмотра/редактирования элемента (а также и списка элементов) инфоблока

Стояла следующая задача:
Изменить форму редактирования элемента/списка элементов для всех инфоблоков (ИБ) одного типа таким образом, чтобы не выводились свойства привязки:
  1. к неактивным секциям другого ИБ.
  2. к секциям к которым "не нужно привязывать" (исходя из постановки - это просто массив ID-секций другого И) элементы ИБ
Задача была решена следующим образом:
  1. Для формы просмотра/редактирования элемента, используя функцию обработчик события OnAdminTabControlBegin http://dev.1c-bitrix.ru/api_help/main/events/onadmintabcontrolbegin.php была произведена выборка всех нужных ID секций. Затем парсингом, из массива содержащего в себе HTML-код формы, были удалены ненужные секции.
  2. Для формы списка, используя функцию обработчик события OnAdminListDisplay http://dev.1c-bitrix.ru/api_help/main/events/onadminlistdisplay.php - был произведен парсинг КАЖДОГО массива содержащего в себе HTML-код формы и были удалены ненужные секции. Метод рабочий, но сильно загружает работу сервера(если пользователь при выборе количества элементов, отображаемых на странице СПИСКА выберет ВСЕ (а их там штук 700, и для каждого отрабатывает preg_match_all..), то это "заставляет сервер задуматься".
Было бы неплохо:
  1. Позволить при помощи интерфейса формы отфильтровывать ненужные секции (или элементы ИБ) еще при выборке из БД.
  2. Позволить ставить для определенных секций свойство disabled. (Т.е. визуально она помогает пользователю увидеть иерархию секций, но к ней нельзя привязывать)
Причем сама логика фильтрации с дополнительными хитростями:
  1. Если нужно убрать секцию из выборки, то нужно убрать из выборки всех ее потомков
  2. Если нужно убрать НЕАКТИВНУЮ  секцию из выборки, то нужно убрать из выборки всех ее потомков
Рейтинг: 35.6362  
На голосовании
Предложил Пользователь 91132 09.04.2012 15:37:55

Добавить в веб-формы возможность в качестве вариантов ответа выбирать значения из элемента инфоблока

Стояла следующая задача:

Имеется вебформа на заказ программного продукта (в дальнейшем ПП). Один из вопросов вебформы - список (select) с ПП.


При добавлении нового ПП приходилось постоянно добавлять новый вариант ответа в вопрос вебформы.

Задача была решена следующим образом:
1) в result_modifier соответствующего шаблона вебформы был сформирован <select> со списком программных ПП (выборка из инфоблока)
2) В вопросы вебформы добавлено текстовое поле. В это поле после выбора ПП из  <select>  JavaScriptom записывался ID выбранного ПП


Просьба добавить в варианты ответов на вопросы вебформы выборку из инфоблока (желательно с задаваемыми условиями фильтра)