Перейти к содержанию
Официальный форум поддержки Simpla

Сжатие и объединение css и js в шаблоне.


Рекомендуемые сообщения

Не так давно написал маленькое дополнине, минификации и объединения css + js.

Вы наверное замечали в настройках многих движков - объединять css и js файлы. Но в симпле такого нету.

При сжатии CSS получается такое:

link rel="stylesheet" type="text/css" media="screen" href="/compiled/template_more/template-71191c631dbd08b3bef0b2ec80f92747.css" />

 

Все файлы хранятся где положено, в папке с компилированным шаблоном.

Работает мое дополнение на Smarty.

 

1. Установка.

- распакуйте архив в корень сайта.

- в шаблоне, оберните подключаемые css или js файлы в {asset_compile}{/asset_compile}

 

Пример:

    {asset_compile}
    
    
    
    {/asset_compile}
    
    {asset_compile}
    
    
    {/asset_compile}
    
    {asset_compile}
   
   
    
    
   
    {/asset_compile}

Smarty.zip

Изменено пользователем ABSORBER
Ссылка на сообщение
Поделиться на другие сайты

У меня не получилось

 

PHP Parse error:  syntax error, unexpected '[' in /********/Smarty/libs/plugins/sacy/sacy.php on line 138

 

$group = serialize($this->_cfg->get('merge_tags') ? [$attrs['media'], $attrs['type']] : [$attrs['media']]);
Изменено пользователем xavior
Ссылка на сообщение
Поделиться на другие сайты

 

У меня не получилось

 

PHP Parse error:  syntax error, unexpected '[' in /********/Smarty/libs/plugins/sacy/sacy.php on line 138

 

$group = serialize($this->_cfg->get('merge_tags') ? [$attrs['media'], $attrs['type']] : [$attrs['media']]);

 

Аналогично и на том же месте.

Ссылка на сообщение
Поделиться на другие сайты

Под какую версию Смарти?

На Github https://github.com/pilif/sacy

 

Smarty Asset Compiler (sacy) is (as the name suggests) a Plugin for the widely used PHP templating engine Smarty (sacy works in both Smarty2 and Smarty3) that provides a fresh approach and solves (nearly) all problems with the traditional solutions.

 

Проблема https://github.com/pilif/sacy/issues/24

Изменено пользователем xavior
Ссылка на сообщение
Поделиться на другие сайты

Пока думаю как решить, остаюсь на использовании Minify и подключении вида

<link href="min/?f=design/{$settings->theme|escape}/css/reset.css,design/{$settings->theme|escape}/css/static.css,design/{$settings->theme|escape}/css/style.css,js/fancybox/jquery.fancybox-1.3.4.css,js/baloon/css/baloon.css" rel="stylesheet" type="text/css" media="screen"/>

Ссылка на сообщение
Поделиться на другие сайты

Скачал обновленный вариант на github сейчас тестирую и отпишусь

Я так понимаю на разработчики минификаторы больше не продолжают разработку

Ссылка на сообщение
Поделиться на другие сайты

Я так понимаю на разработчики минификаторы больше не продолжают разработку

Все верно, дело в php, надо от 5.5 версии

Ссылка на сообщение
Поделиться на другие сайты
  • 4 недели спустя...

Странно, но версия РНР 5.6... ставил даже 5.5

но у меня ошибка...Fatal error: Uncaught --> Smarty: template property 'compile_dir' does not exist. <-- thrown in .../docs/Smarty/libs/sysplugins/smarty_internal_template.php on line 694

Ссылка на сообщение
Поделиться на другие сайты

Странно, но версия РНР 5.6... ставил даже 5.5

но у меня ошибка...Fatal error: Uncaught --> Smarty: template property 'compile_dir' does not exist. <-- thrown in .../docs/Smarty/libs/sysplugins/smarty_internal_template.php on line 694

обновляйте версию симпла до 2.3.7, на php5.6 все работает хорошо.

Ссылка на сообщение
Поделиться на другие сайты

обновляйте версию симпла до 2.3.7, на php5.6 все работает хорошо.

 

Что ж теперь, по каждой мелкой ошибке версию обновлять? А если доработки были хотя бы средней сложности - это  нереально...

 

Судя по сообщению, ошибка у Вас легко поправимая,  всего лишь отсутствует директория - возможно, автоматически не создалась. Попробуйте создать вручную директорию compiled/имя_шаблона с правами 777.

Ссылка на сообщение
Поделиться на другие сайты
  • 2 месяца спустя...

Если кто-то вставлял коды БЕЗ "/" перед "design" вида:

<link href="design/{$settings->theme|escape}/css/template.css" rel="stylesheet" type="text/css" media="screen"/>

То исправляйте на <link href="/design/{$se... иначе работать не будет.

 

Ссылка на сообщение
Поделиться на другие сайты
  • 1 год спустя...

Не так давно написал маленькое дополнине, минификации и объединения css + js.

Вы наверное замечали в настройках многих движков - объединять css и js файлы. Но в симпле такого нету.

При сжатии CSS получается такое:

<link rel="stylesheet" type="text/css" media="screen" href="/compiled/template_more/template-71191c631dbd08b3bef0b2ec80f92747.css" />

 

Все файлы хранятся где положено, в папке с компилированным шаблоном.

Работает мое дополнение на Smarty.

 

1. Установка.

- распакуйте архив в корень сайта.

- в шаблоне, оберните подключаемые css или js файлы в {asset_compile}{/asset_compile}

 

Пример:

    {asset_compile}

    <link href="/design/{$settings->theme|escape}/css/template.css" rel="stylesheet" type="text/css" media="screen"/>

    <link href="/js/jquery/jquery-ui.min.css" rel="stylesheet" type="text/css" media="screen"/>

    <link href="/js/default.css" rel="stylesheet" type="text/css" media="screen"/>

    {/asset_compile}

    

    {asset_compile}

    <script src="/js/jquery/jquery-1.8.3.min.js"  type="text/javascript"></script>

    <script src="/js/jquery/jquery-ui.min.js"  type="text/javascript"></script>

    {/asset_compile}

    

    {asset_compile}

    <script src="/js/ajax_cart.js"></script>

    <script src="/js/autocomplete/jquery.autocomplete.min.js" type="text/javascript"></script>

    <script src="/design/{$settings->theme|escape}/js/template.js"  type="text/javascript"></script>

    <script src="/js/default.js"  type="text/javascript"></script>

    <script src="/js/spin.js"  type="text/javascript"></script>

    {/asset_compile}

 

Не работает(((

Ссылка на сообщение
Поделиться на другие сайты

Не работает(((

может напишите какие ошибки есть, какая версия симплы итд информация?

или мы тут догадаемся?

Ссылка на сообщение
Поделиться на другие сайты
  • 2 недели спустя...

может напишите какие ошибки есть, какая версия симплы итд информация?

или мы тут догадаемся?

 

Уважаемый, Absorber!

Прошу меня простить, что я не уточнил. 

Так как сижу на модификации Simpla (OkayCMS).

Ваше решение было бы очень незаменимо в работе моего ИМ. 

Если Вам будет не сложно, укажите как данное ГР внедрить в Ok. (Free use)

Ссылка на сообщение
Поделиться на другие сайты

Уважаемый, Absorber!

Прошу меня простить, что я не уточнил. 

Так как сижу на модификации Simpla (OkayCMS).

Ваше решение было бы очень незаменимо в работе моего ИМ. 

Если Вам будет не сложно, укажите как данное ГР внедрить в Ok. (Free use)

Понятия не имею, с Okaycms плотно не работал, но уверен что все должно работать, т.к. OkayCMS 100% клон Симплы.

Надо смотреть логи PHP. Возможно не подходит версия.

Либо ковырять Smarty, может проблема там.

 

Если интересует коммерческое решение проблемы, пишите. Контакты ниже

Ссылка на сообщение
Поделиться на другие сайты

Использующиеся в разработке файлы PHP содержат конструкции типа

 

return [];

 

Однако, использовать короткий синтаксис определения массивов, который заменяет языковую конструкцию array() на [], возможно лишь начиная с PHP 5.4.

 

А поскольку Simpla, по официальной документации, работает на PHP начиная с 5.2, то использование в дополнении таких конструкций несколько некорректно. Автору следовало бы поправить свою разработку. 

Изменено пользователем ahmed
Ссылка на сообщение
Поделиться на другие сайты

Понятия не имею, с Okaycms плотно не работал, но уверен что все должно работать, т.к. OkayCMS 100% клон Симплы.

Надо смотреть логи PHP. Возможно не подходит версия.

Либо ковырять Smarty, может проблема там.

 

Если интересует коммерческое решение проблемы, пишите. Контакты ниже

Ошибка все та же, тестирую на своем компьютере через EleanorServ 

 

 

У меня не получилось

 

PHP Parse error:  syntax error, unexpected '[' in /********/Smarty/libs/plugins/sacy/sacy.php on line 138

 

$group = serialize($this->_cfg->get('merge_tags') ? [$attrs['media'], $attrs['type']] : [$attrs['media']]);
Ссылка на сообщение
Поделиться на другие сайты

ИА поскольку Simpla, по официальной документации, работает на PHP начиная с 5.2, то использование в дополнении таких конструкций несколько некорректно. Автору следовало бы поправить свою разработку. 

 

Последняя версия Simpla работает на php 5.6 без ошибок.

С момента последнего релиза прошло около 2х лет. Могли бы обновиться.

 

И кстати, там дело не только в массивах, раз ух хотите на 5.2 использовать

Ссылка на сообщение
Поделиться на другие сайты

Последняя версия Simpla работает на php 5.6 без ошибок.

С момента последнего релиза прошло около 2х лет. Могли бы обновиться.

 

И кстати, там дело не только в массивах, раз ух хотите на 5.2 использовать

 

Поднятый вопрос не в этом, а в том, что официально системные требования Simpla включают PHP 5.2 или выше. На странице

http://simplacms.ru/features.html

можно видеть "Требования к хостингу ... PHP 5.2 и выше ...".  Стало быть, и все доработки для Simpla должны работать на php 5.2 или выше. А Ваша не идет на PHP 5.2.  Если уж никак не хотите приводить в соответствие с текущими стандартами Simpla, то хотя бы надо предупреждать пользователей в описании о своих специфических системных требованиях...

Изменено пользователем ahmed
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...