Как очистить кэш Twig в Opencart 3
Разработчики opencart ввели в свой движок шаблонизатор Twig, зачем они это сделали мне не совсем ясно, и тем самым многим насолили. Во всяком случаех на форумах плюются от использования данного шаблонизатора.
Сам же я никогда не работал с данным шаблонизатором, но не давно решил с ним разобраться. Понятное дело, что программистам значительно удобней использовать обычный php код,тем более придётся переделывать свои разработанные модули. Но на самом деле ничего сложно в нём нет, хотя шаблонизаторы мне совершенно не нравятся, и не вижду смысла их использования.
Небольшой пример
Для вывода переменной в шаблоне ранее использовалась конструкция:
<?php echo $header;?>
В Twig
{{ $header }}
Php условие
<?php if($logged){ ?> Авторизован <?php }?>
Twig
{% if logged %} ok {% endif %}
Циклы PHP
<?php foreach($product as $products){?> <p><?php echo $product['description'];?></p> <?pphp }?>
TWIG
{% for product in products %} <p>{{ product.description }}</p> {% endfor %}
Первое с чем я столкнулся, это кэширование шаблонов. Т.е так же как любой другой шаблонизатор, Twig компилирует php код, и хранит его в отдельной папке. Если внести изменения в Twig файл, то php код в кэше автоматически не обновляется. Вот спрашивается зачем создавать шаблонизатор, если скрипт компилирует шаблон в php код?
Весь кэш хранится в /public_html/opencart/system/storage/cache/, для его очистки просто удаляем всё из это папки.
На стадии разработки какого-нибудь модуля или шаблона, я рекомендую полностью отключить кеш в Opencart 3, нажимаем на главной страницу админки иконку настроек,и устанавливаем в значение «Выключен».