Срок работы пробной версии продукта истек. Через две недели этот сайт полностью прекратит свою работу. Вы можете купить полнофункциональную версию продукта на сайте www.1c-bitrix.ru. Подсказки по композитному сайту 1С-Bitrix

Подсказки по композитному сайту 1С-Bitrix

Подсказки по композитному сайту 1С-Bitrix

Технология "Композитный сайт" появилась в CMS Битрикс относительно не давно, но уже приобрела большую популярность. Данная технология позволяет реализовать умное кеширование HTML, тем самым значительно ускорив загрузку страниц на сайте. Для того, чтобы перевести сайт на технологию композита, необходимо разрешить компонентам голосовать за композит и включить технологию в панели управления сайтом.

Всю исчерпывающую информацию по композитному сайту можно получить из одноименного курса сертификации. Если при прохождении возникнут вопросы на которые не будет ответа, то можете попробовать найти их в разделе битрикс сертификации нашего сайта.

Как внедрить технологию композитного сайта быстро и без боли?

Для внедрения технологии композитного сайта удобно пользоваться, следующим набором программ:

  • Notepad++ с плагином Compare;
  • Sublime Text

Notepad++ c плагином Compare - позволяют сравнивать 2 файла, например, в ситуации когда композит переписался. Для этого открываем два файла в Notepad++ и нажимаем сочетание Alt + D. При помощи этого инструмента достаточно легко определить из-за какого компонента был переписан композит страницы.

Sublime Text - в нем удобно открывать файл лога разработки композитного сайта. Почему именно Sublime Text? Все просто при перезаписи или добавлении информации в файл данный редактор не спрашивает о перегрузке файла, а сразу отображает изменения.

Настраиваем все компоненты на голосование за композит и начинаем ходить по сайту и смотреть в лог, если какая-то информация заставляет переписать композит, то сначала выясняем что это за информация при помощи связки Notepad++ с Compare, далее вносим изменения в код или настраиваем включаемую область.

Подсказки по внедрению композитного сайта

  1. Если Вы используете ЧПУ на сайте без окончания на слеш и без .html, то скорее всего такие страницы не попадут в композит даже при правильной настройке. Важно понимать что на таких страницах и ошибок не будет, отследить можно только что в папке /bitrix/html_pages/domain.name/ не будет создан html файл страницы.
  2. Если необходимо сделать динамическую область, например, во включаемой области, т.е. вне шаблона компонента, можно воспользоваться следующим кодом:
    \Bitrix\Main\Page\Frame::getInstance()->startDynamicWithID("load-content-block");
       //Тут размещаем динамический контент
    \Bitrix\Main\Page\Frame::getInstance()->finishDynamicWithID("load-content-block", "< p>Загрузка...< /p>");
  3. При необходимости в любом месте на странице можно проголосовать против композита:
    \Bitrix\Main\Data\StaticHtmlCache::getInstance()->markNonCacheable();
  4. Для использования своих div - оберток для динамического контента:
    echo '< div id="load-content-block">';
    $frame = $this->createFrame("load-content-block", false)->begin();
       //динамический контент
    $frame->beginStub();
       //заглушка
    $frame->end();
    echo '< /div>';

Вам есть чем дополнить совет про композитный сайт? Давайте обсудим это в комментариях!

 3250 Битрикс, Композитный сайт, Разработка
7 апреля 2015
Команда BXCert

Наша команда разрабатывает портал BXCert, а также занимается разработкой сайтов на CMS 1С-Битрикс. Все участники являются сертифицированными специалистами Bitrix.

Возможно Вам будет интересно

Комментарии

Миха Васильев 04 декабря 2015 в 13:24 / # / Ответить
Возникла проблема с композитом...в общем прикручиваю его на инет магазин битрикса, на странице списка товаров использую фильтр, все вроде обернул динамическими областями, но кеш все равно перезаписывается :( Как такое может быть?
Команда BXCert 04 декабря 2015 в 16:00 / # / Ответить
Напишите подробнее, постараемся помочь. Какой компонент используете, сравнивали ли файлы, которые перезаписываются? Чем отличаются? По композиту трудно помогать не зная подробностей )
Миха Васильев 04 декабря 2015 в 17:01 / # / Ответить
Компонент bitrix:catalog, проблема в шаблоне компонента bitrix:catalog.smart.filter добавляет строки с meta тегами в раздел head.
Команда BXCert 06 декабря 2015 в 13:48 / # / Ответить
Попробуйте отключить функцию Яндекс.Острова в настройках комплексного компонента bitrix:catalog. Стоит учесть, что в списке настроек этой функции нет, поэтому нужно скопировать себе этот шаблон и отредактировать руками файл section.php, необходимо в вызове компонента bitrix:catalog.smart.filter поставить "N" у настройки "XML_EXPORT". После этого мета теги добавляться не будут и следовательно не будет сбрасываться кеш композита.
Чтобы оставлять комментарии необходимо зарегистрироваться и пройти авторизацию.