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