Мета композитного кешування - прискорення роботи сайту. Швидкість відкриття сторінок важлива як для користувачів так і для сканування веб-ресурсу пошуковими роботами Яндекса і Гугла.
1. Робимо настройки в адмінці
Переходимо в адмінки на сторінку налаштувань Композитного сайту: Налаштування -> Налаштування продукту -> Композитний сайт
Включаємо кнопку Композит.
Зберігати кеш: можна залишити в файлах
Список доменних імен (кожне в новому рядку): вкажіть свій домен, якщо налаштована Многосайтовий, то кілька доменів.
Маска включення: * .php; *. Html; * /; * - вказуємо, що кешувати будемо все url, які закінчуються на ".php", ".html" або "/".
Маска виключення: не всі сторінки потрібно композитів. т.к це можуть бути спеціальні сторінки або сторінки з обмеженим доступом, якщо вони потраплять в кеш, то будуть доступні всім; тому вказуємо сторінки-виключення.
Дискова квота (мегабайт). в залежності від проекту, можна поставити 100 або 100000 мегабайт; для середнього магазину на 3-4 тисячі товарів досить 5Гб. Якщо ви встановити меншу квоту ніж потрібно, то файли композитного кеш-пам'яті не будуть зберігатися після перевищення квоти.
2. Включаємо логи
Другим кроком включимо константи в /bitrix/php_interface/dbconn.php, вони нам будуть потрібні для налагодження, в файлі log.txt будуть зберігатися записи про помилки та успішному створенні композитного кешу сторінки.
Для цього переходимо: Контент -> Структура сайту -> Файли і папки -> bitrix -> php_interface.
Знаходимо файл dbconn.php і натискаємо Редагувати як PHP
Далі встановлюємо в кінці файлу ці дві точки:
3. Налаштування компонетов
Тепер найцікавіше. Компоненти сайту будемо ділити на статичні і динамічні.
Статичні - які видають однаковий код для будь-якого користувача. Наприклад, це може бути меню каталогу (bitrix: menu), список розділів (catalog.section.list), список новин (news.list) або детальна сторінка новини (news.detail).
А тепер, якщо ми хочемо кешувати компоненту, але не повністю а частково, наприклад, хочемо оновлювати ціни в списку елементів (bitrix: catalog.section)
. тоді при завантаженні сайту користувач побачить. а після поновлення асинхронним запитом побачить те, що повертає
Якщо нам потрібно закешовану частина коду поза компоненти, наприклад, в шаблоні сайту, використовуємо такий код:
У більшості випадків цього достатньо.
Також можна використовувати:
Якщо все-таки у вас виникнуть проблеми з налаштуванням Композитного сайту - звертайтеся, допоможу.