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

Рейтинг: 7.4395  
На голосовании
Предложил Прокофьев Андрей 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();

 

Рейтинг: 4.7698  
Долганин Антон 07.07.2014 04:50:04
Так это уже в процессе. Скоро все компоненты будут поддерживать композит.