sergeevizh Posted September 1, 2020 Report Share Posted September 1, 2020 Доброго дня! Никак не могу понять и победить Smarty в частности, сжимать данные находящиеся под {literal} в теле страницы.Smarty подключен через Composerconfig/config.php - smarty_html_minify = true;Основной код сжимается, но данные под {literal} остаются неизменными.{ldelim},{rdelim} не работает Есть какие-то ходы? Кто-то может подсказать как сжимать? Quote Link to post Share on other sites
yr4ik Posted September 1, 2020 Report Share Posted September 1, 2020 (edited) Можете попробовать http://forum.simplacms.ru/topic/8324-html-сжатие-страницы-simpla-cms-smarty/?p=62956А вообще если уже хотите сжимать html на лету - то лучше использовать что то серверное а не php Скопируйте себе метод template_min и его подключение: if($this->config->smarty_html_minify) $this->smarty->registerFilter('pre', array($this, 'template_min')); Edited September 1, 2020 by yr4ik Quote Link to post Share on other sites
sergeevizh Posted September 1, 2020 Author Report Share Posted September 1, 2020 Можете попробовать http://forum.simplacms.ru/topic/8324-html-сжатие-страницы-simpla-cms-smarty/?p=62956А вообще если уже хотите сжимать html на лету - то лучше использовать что то серверное а не php Скопируйте себе метод template_min и его подключение: if($this->config->smarty_html_minify) $this->smarty->registerFilter('pre', array($this, 'template_min')); Взял ваше решение и не понял чем оно отличается от вшитого в Smarty - TrimwhitespaceОсновной код так же сжался, а вот под {literal} остались неизменными Использую Simpla 2.3.8 Smarty 3.1.34 стандартный шаблон и функционал без изменений Quote Link to post Share on other sites
Kosjak76 Posted September 1, 2020 Report Share Posted September 1, 2020 Смысл тега {literal} в Smarty - то, что находится в этом теге НЕ ОБРАБАТЫВАЕТСЯ Smarty Если хотите чтобы обрабатывалось убирайте {literal} и решайте вопросы со скриптами другим способом Quote Link to post Share on other sites
sergeevizh Posted September 1, 2020 Author Report Share Posted September 1, 2020 Смысл тега {literal} в Smarty - то, что находится в этом теге НЕ ОБРАБАТЫВАЕТСЯ Smarty Если хотите чтобы обрабатывалось убирайте {literal} и решайте вопросы со скриптами другим способомСмысл ясен, читал руководство по Smarty и {literal}Спасибо, значит буду решать другим способом. Quote Link to post Share on other sites
simpla24 Posted September 1, 2020 Report Share Posted September 1, 2020 Смысл ясен, читал руководство по Smarty и {literal}Спасибо, значит буду решать другим способом. 90% процентов ошибок внутри literal - это фигурные скобки без пробелов "{(" или "текст}" - банально добавьте пробелов в эти места, может и поможет такое решение Quote Link to post Share on other sites
yr4ik Posted September 1, 2020 Report Share Posted September 1, 2020 (edited) Взял ваше решение и не понял чем оно отличается от вшитого в Smarty - TrimwhitespaceОсновной код так же сжался, а вот под {literal} остались неизменными Использую Simpla 2.3.8 Smarty 3.1.34 стандартный шаблон и функционал без изменений Разница в том что вшитый Smarty - Trimwhitespace выполняется каждый раз как только открывается страница. А через template_min сжатие выполнится разово перед тем как сгенерируется файл для папки compiled и по идее literal он должен был обработать. Возможно после вставки кода - вы не очистили папку compiled Edited September 1, 2020 by yr4ik Quote Link to post Share on other sites
sergeevizh Posted September 1, 2020 Author Report Share Posted September 1, 2020 Разница в том что вшитый Smarty - Trimwhitespace выполняется каждый раз как только открывается страница. А через template_min сжатие выполнится разово перед тем как сгенерируется файл для папки compiled и по идее literal он должен был обработать. Возможно после вставки кода - вы не очистили папку compiled Прописал ваш код, изменил данные в config. Ничего не изменилось пока не очистил папку compiled. Проверил исходный код, literal не изменился Quote Link to post Share on other sites
yr4ik Posted September 1, 2020 Report Share Posted September 1, 2020 (edited) Ну код не сжимает то что находится внутри html тегов <script|textarea|pre>.И стандартный smarty тоже. {literal} тут ни при чем Если хотите сжать js или css - то это не в этом направлении. Edited September 1, 2020 by yr4ik Quote Link to post Share on other sites
sergeevizh Posted September 1, 2020 Author Report Share Posted September 1, 2020 Ну код не сжимает то что находится внутри html тегов <script|textarea|pre>.И стандартный smarty тоже. {literal} тут ни при чем Очень жаль, что не сжимает. Пока обойдусь, но нужно будет как-то решить вопрос сжатия html тегов </script> и </style>. Не вписывая их по файлам. Так как есть куски, которые работают на определенных страницах. Quote Link to post Share on other sites
yr4ik Posted September 1, 2020 Report Share Posted September 1, 2020 подключайте так: http://forum.simplacms.ru/topic/13333-smarty-minify-13/ Вскоре выложу 2ю версию. Там будет куда больше функционал... Quote Link to post Share on other sites
sergeevizh Posted September 1, 2020 Author Report Share Posted September 1, 2020 подключайте так: http://forum.simplacms.ru/topic/13333-smarty-minify-13/ Вскоре выложу 2ю версию. Там будет куда больше функционал... Уже так и сделал =) вообще, спасибо вам огромное за решение Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.