Отключение кеширования стилей phpBB

Столкнулся с задачей верстать под phpBB. Но как известно, там реализовано кеширование стилей, которое очень мешает при изменении шаблона. Поиски дали вариант с удалением папки кеша и отключением вывода ошибок, но меня такой вариант не устроил.
Я пошел другим путем. Зная то, что кеш файлы создаются при каждой точке входа, если они отсутствуют, я решил их просто, предварительно удалять. Т.е. перед тем как отдать управление в скрипт мы чистим папку кеша.
Для того чтобы проделать такой трюк, требуется всего-то добавить в конец config.php, пару строчек:
в конец перед ?> добавляем
| 1 2 3 4 5 6 |     define('DELETE_CACHE', true);       if (defined('DELETE_CACHE') && file_exists('./cache'))           foreach (glob('./cache/*.php') as $cache_file)               unlink($cache_file); | 
теперь все просто: на время отладки, ставим
| 1 2 3 |     define('DELETE_CACHE', true); | 
после того как все сделали и можно кешировать шаблон, меняем на
| 1 2 3 |     define('DELETE_CACHE', false); | 
и все прекрасно работает.
(!) перед редактированием и тестированием работы, не забудьте сделать резервную копию папок форума
--[добавлено, 06.02.2016]--
В связи с тем, что phpBB перешел на шаблонизатор twig решение из 2012 года не работает. Но хорошая новость в том, что я вновь столкнулся с правками дизайна, и вот исправленное решение:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | define('DELETE_CACHE', true); if (defined('DELETE_CACHE') && is_dir('./cache')) {     // clean up twig folder     if (is_dir('./cache/twig')) {         $rrmdir = function ($dir) use (&$rrmdir) {             if (is_dir($dir)) {                 $objects = scandir($dir);                 foreach ($objects as $object) {                 if ($object != "." && $object != "..") {                     if (is_dir($dir."/".$object))                     $rrmdir($dir."/".$object);                     else                     unlink($dir."/".$object);                 }                 }                 rmdir($dir);             }         };         $rrmdir('./cache/twig');     }     // clean up cache folder     foreach (glob('./cache/*.php') as $cache_file) unlink($cache_file); } | 
И хочу обратить Ваше внимание на то, что "да", данный хак замедляет работу форума. Но он предназначен исключительно для того времени, в которое вы ведете работы. После окончания работ, просто отключайте его с помощью установки DELETE_CACHE в false, либо попросту комментируйте/удаляйте добавленный код.
Author: | Rating: / | Tags:
 
                    
                 
                    
                 
                    
                 
                    
                
5 comments.
Write a comment