Перейти к содержимому


Фото
- - - - -

Smarty Minify 1.3

smarty minify js css vqmod less

  • Чтобы отвечать, сперва войдите на форум
46 ответов в теме

#1 yr4ik

yr4ik
  • Фрилансер
  • 865 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:Украина Чернигов

Опубликовано 31.01.2018 - 06:36

Smarty Minify 1.3 (сжатие и упаковка js, css и less). 

 
Данный модуль позволяет сжимать и объеденять css, js, less файлы и коды с возможностью сжатия через gzip и дальнейшим кэшированием.

 

 

Для vqmod версии:


Установка
1) содержимое архива залить на сайт в папку vqmod/mod
2) пройти по ссылке ВАШ_САЙТ/vqmod/ и из списка установить Smarty Minify
3) если все хорошо увидим надпись: Модуль установлен
 
Удаление
1) пройти по ссылке ВАШ_САЙТ/vqmod/ и из списка нажать удалить на Smarty Minify
2) если все хорошо увидим надпись: Модуль удален
 
Примечание

Для установки нужен vqmod v 2.8 и старше тема о vqmod
Если обновляли vqmod то пройти по ссылке ВАШ_САЙТ/vqmod/ и из списка нажать переустановить Smarty Minify

 

 

 

Для установки not vqmod:

Инструкция по установке без vqmod

 

 

 

Как использовать:
 
После установки в файле шаблона где мы выводим js и css (обычно index.tpl) необходимо разместить коды:

{stylesheet minify=false} для вывода css (обычно перед </head>)
...........
{javascript combine=false} для вывода js (обычно перед </body>)


данные теги могут принимать параметры (если они не указаны то возьмутся глобальные из настроек vqmod в config/config.php):

  • combine=true - паковать все в один файл / false - не паковать
  • minify=true - сжить код / false - не сжимать
  • id - идентификатор. Вывести с очереди js или css с указанным ид

Данные коды служат для вывода наших скриптов и стилей.
 
Далее как добавлять js и css:
 
Добавлять их можно с каких угодно tpl. Варианты добавления:
 
CSS:
Регистрация сразу нескольких файлов 

{css id="libs" include=[
"design/{$settings->theme}/css/bootstrap.css",
"design/{$settings->theme}/css/animate.css",
"design/{$settings->theme}/css/style.css"
]}{/css}

 
регистрация 1 файла:

{css id="theme" include="design/{$settings->theme}/css/theme.css"}{/css}

 

регистрация 1 файла и произвольного кода:

{css id="mycode" include="design/{$settings->theme}/css/mycode.css" render=true}
.my_class {
color: red
}
{/css}

 

убрать код с регистрации:

{unset_css id="mycode"}

 

данные функции принимают параметры:

  • id* - служит для идентификации (обязательный параметр)

  • include - строка или массив строк для добавления в очередь

  • priority - приоритет вывода. По умолчанию равен 10 (если не указывать файлы будут становится один за одним согласно вызову функций) Чем больше приоритет тем он быстрее будет на выводе

  • less - если установленно true то данному ресурсу будет применен синтаксис less и перекодирован в css. (по умолчанию: false)

  • render - если данный параметр установлен в true то код на очередь не станет, а будет выведен прямо в месте вызова функции. Параметры minify и combine буруться глобальные.

  • minify - если данный параметр установлен в true то к данному ресурсу будет применятся сжатие. Если false - то файлы принадлежащие данному id не будут сжиматся. (по умолчанию: значение config.php)

  • combine - если данный параметр установлен в true то к данному ресурсу будет применятся упаковка в один файл. Если false - то файлы принадлежащие данному id не будут паковатся в один файл. (по умолчанию: значение config.php)

 

 

JavaScripts:
Тут сильно расписывать не буду. Все параметры идентичны css за исключением параметра less.

Регистрация сразу нескольких js-файлов:

{js id="libs" priority=99 include=[
"design/{$settings->theme}/js/jquery-2.1.1.min.js",
"design/{$settings->theme}/js/bootstrap.min.js"
]}{/js}

 

Удаление из очереди: 

{unset_js id="mycode"}

 

 

PHP:
я думаю это мало кому нужно, но поскольку есть все нужные api то регистрацию нужных js css можно делать в php.
описывать не буду. Комментарии есть в самих api.
 
 
Полезные ссылки: 

Прикрепленные файлы:


Изменено: yr4ik, 15.09.2018 - 00:00


#2 Maksclub

Maksclub

    Помогаю с Симплой и c PHP

  • Фрилансер
  • 1 389 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 31.01.2018 - 10:28

А может в 2018 пора Webpack уже ставить?

Тем более он в 1 файл может все запаковать... а кроме того убрать комментарии в коде, делать автопрефиксы и много чего еще...


Изменено: Maksclub, 31.01.2018 - 10:28


#3 a13x

a13x
  • Забаненый
  • 213 сообщений
  • Дизайн, Программирование, Верстка, SEO, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 31.01.2018 - 11:04

А может в 2018 пора Webpack уже ставить?

Тем более он в 1 файл может все запаковать... а кроме того убрать комментарии в коде, делать автопрефиксы и много чего еще...

На самом деле это всё может сделать несложный скрипт, который на лету прочитает необходимые файлы, заменит переменные если надо и приведет весь код к одной строке убрав комменты. Не знаю, может вебпак и лучше, но там какой то геморой с настройкой и установкой этого вебпака.


Изменено: a13x, 31.01.2018 - 11:07


#4 Maksclub

Maksclub

    Помогаю с Симплой и c PHP

  • Фрилансер
  • 1 389 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 31.01.2018 - 13:54

Не знаю, может вебпак и лучше, но там какой то геморой с настройкой и установкой этого вебпака.

 

Установка легкая, настрйока в данном конексте — тоже, нам же не нужны всякие babel дял перегона с ES6...

Ну и Вебпак и правда может быть избыточным, можно и Gulp  — сейчас у меня он :) 



#5 yr4ik

yr4ik
  • Фрилансер
  • 865 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:Украина Чернигов

Опубликовано 31.01.2018 - 21:09

А может в 2018 пора Webpack уже ставить?

Тем более он в 1 файл может все запаковать... а кроме того убрать комментарии в коде, делать автопрефиксы и много чего еще...

Ну насколько я знаю вебпак есть смысл использовать только если проект большой и имеет много различных модулей. В симпле, я думаю, это далеко лишнее. Поскольку в среднем шаблон ограничивается 2-5 css и 3-7 js файлов. Поэтому использование вебпака для симплы - я думаю лишнее. + большая сложность в конфигурации для обычного среднестатистического пользователя... 

 

Если начнете писать статью - как это добавить в симплу и как использовать... Предполагаю не мало времени уйдет... 



#6 ABSORBER

ABSORBER
  • Модератор
  • 462 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Хабаровск

Опубликовано 01.02.2018 - 03:18

А может в 2018 пора Webpack уже ставить?

Тем более он в 1 файл может все запаковать... а кроме того убрать комментарии в коде, делать автопрефиксы и много чего еще...

Gulp'а более чем предостаточно для решения подобных задач.



#7 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 6 706 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 01.02.2018 - 03:27


Gulp'а более чем предостаточно для решения подобных задач.


Не для симплы, ибо система давно стоит на месте и галп для Пикусова нечто новое, впрочем как и все новые технологии последних 5! лет...

#8 a13x

a13x
  • Забаненый
  • 213 сообщений
  • Дизайн, Программирование, Верстка, SEO, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 01.02.2018 - 10:33

Опять же все всё усложняют. Gulp, webpack,... 2 простых пхп скрипта всё решают в разы быстрее чем подключать большие библиотеки и разбираться в них, но видимо многие привыкли усложнять себе жизнь, чем наоборот искать простые пути для решения проблем.



#9 a13x

a13x
  • Забаненый
  • 213 сообщений
  • Дизайн, Программирование, Верстка, SEO, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 01.02.2018 - 10:37

<?php
require_once('api/Settings.php');

//минимизация вывода кода
function sanitize_output($buffer) {
    $buffer = str_replace(array("\r\n", "\r", "\n", "\t", '   ', '    '), '', $buffer);
    $buffer = str_replace('  ', ' ', $buffer);
    return $buffer;
}

$settings = new Settings();
// Ширина
$sheme["main_width"] = $settings->main_width;
// Основной цвет
$sheme["primary_color"] = $settings->primary_color;
// Второй цвет
$sheme["secondary_color"] = $settings->secondary_color;
// Цвет фона
$sheme["bg_color"] = $settings->bg_color;
//директория для изображений
$sheme["images"] = $settings->paths["images"];    // выводит /assets/images/
//директория для шрифтов
$sheme["fonts"] = $settings->paths["fonts"];    // выводит /assets/fonts/

$path = $_SERVER["DOCUMENT_ROOT"].$settings->paths["css"];

$css3 = "";
$css3 .= file_get_contents($path."general.css");
$css3 .= file_get_contents($path."libs.css");
$css3 .= file_get_contents($path."animate.css");
$css3 .= file_get_contents($path."adaptive.css");
//переменные в css <$название>
foreach($sheme AS $name => $value)
    $css3 = str_replace("<\$".$name.">", $value, $css3);

//если его надо обрабатывать на переменные, то перенести выше, в $css3
$bootstrap = file_get_contents($path."bootstrap.css");

header("Content-type: text/css");
echo sanitize_output($bootstrap.$css3);
die();

Для css.

Для js будет почти такой же только функция для формирования вывода будет чуть другая.


Изменено: a13x, 01.02.2018 - 10:38


#10 DaVinci

DaVinci
  • Фрилансер
  • 1 139 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 01.02.2018 - 12:02

<?php
require_once('api/Settings.php');

//минимизация вывода кода
function sanitize_output($buffer) {
    $buffer = str_replace(array("\r\n", "\r", "\n", "\t", '   ', '    '), '', $buffer);
    $buffer = str_replace('  ', ' ', $buffer);
    return $buffer;
}

$settings = new Settings();
// Ширина
$sheme["main_width"] = $settings->main_width;
// Основной цвет
$sheme["primary_color"] = $settings->primary_color;
// Второй цвет
$sheme["secondary_color"] = $settings->secondary_color;
// Цвет фона
$sheme["bg_color"] = $settings->bg_color;
//директория для изображений
$sheme["images"] = $settings->paths["images"];    // выводит /assets/images/
//директория для шрифтов
$sheme["fonts"] = $settings->paths["fonts"];    // выводит /assets/fonts/

$path = $_SERVER["DOCUMENT_ROOT"].$settings->paths["css"];

$css3 = "";
$css3 .= file_get_contents($path."general.css");
$css3 .= file_get_contents($path."libs.css");
$css3 .= file_get_contents($path."animate.css");
$css3 .= file_get_contents($path."adaptive.css");
//переменные в css <$название>
foreach($sheme AS $name => $value)
    $css3 = str_replace("<\$".$name.">", $value, $css3);

//если его надо обрабатывать на переменные, то перенести выше, в $css3
$bootstrap = file_get_contents($path."bootstrap.css");

header("Content-type: text/css");
echo sanitize_output($bootstrap.$css3);
die();

Для css.

Для js будет почти такой же только функция для формирования вывода будет чуть другая.

 

то есть верстальщику надо лезть в php что бы подключить css? а если на каждой странице подключены свои css и javascript файлы или надо вставить блок стилей или скриптов?

 

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


Изменено: DaVinci, 01.02.2018 - 12:07


#11 yr4ik

yr4ik
  • Фрилансер
  • 865 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:Украина Чернигов

Опубликовано 01.02.2018 - 15:58

<?php
require_once('api/Settings.php');

//минимизация вывода кода
function sanitize_output($buffer) {
    $buffer = str_replace(array("\r\n", "\r", "\n", "\t", '   ', '    '), '', $buffer);
    $buffer = str_replace('  ', ' ', $buffer);
    return $buffer;
}

$settings = new Settings();
// Ширина
$sheme["main_width"] = $settings->main_width;
// Основной цвет
$sheme["primary_color"] = $settings->primary_color;
// Второй цвет
$sheme["secondary_color"] = $settings->secondary_color;
// Цвет фона
$sheme["bg_color"] = $settings->bg_color;
//директория для изображений
$sheme["images"] = $settings->paths["images"];    // выводит /assets/images/
//директория для шрифтов
$sheme["fonts"] = $settings->paths["fonts"];    // выводит /assets/fonts/

$path = $_SERVER["DOCUMENT_ROOT"].$settings->paths["css"];

$css3 = "";
$css3 .= file_get_contents($path."general.css");
$css3 .= file_get_contents($path."libs.css");
$css3 .= file_get_contents($path."animate.css");
$css3 .= file_get_contents($path."adaptive.css");
//переменные в css <$название>
foreach($sheme AS $name => $value)
    $css3 = str_replace("<\$".$name.">", $value, $css3);

//если его надо обрабатывать на переменные, то перенести выше, в $css3
$bootstrap = file_get_contents($path."bootstrap.css");

header("Content-type: text/css");
echo sanitize_output($bootstrap.$css3);
die();

Для css.

Для js будет почти такой же только функция для формирования вывода будет чуть другая.

Ну как по мне то тут очень много нюансов.

1) то что перед каждой картинкой нужно добавлять строку <$image> или они не найдутся и строка должна быть правильная по отношению к расположению css.

перед шрифтом <$fonts> - история та же.

2) import, charset и тд. Как они обработаются? мало того что не найдутся так они еще должны быть в начале упакованного файла. 

3) без кэш-файла. Это будет выполняться постоянно (с подключением и запросами к БД) и как я понимаю не единожды при загрузке страницы.

4) нарушится порядок если их подключать не в index.tpl

5) и на счет вставок внутри страницы через <style> и <script> (и опять же их приоритет)

 

..............

Что касается гальпа и вебпака. 

Я уже писал выше. Это инструменты хорошие и очень мощные. Но симпла пока что не для них.

И 90-95% тех кто делает шаблоны - навряд ли это используют. Я например еще таких шаблонов не видел.



#12 a13x

a13x
  • Забаненый
  • 213 сообщений
  • Дизайн, Программирование, Верстка, SEO, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 01.02.2018 - 18:57

то есть верстальщику надо лезть в php что бы подключить css? а если на
каждой странице подключены свои css и javascript файлы или надо вставить
блок стилей или скриптов?

Самый дибильный подход к созданию страниц, когда у вас куча css\js файлов и каждый подключается на разных страницах. Учитесь объединять всё это и тогда проблем не будет, это как минимум увеличит скорость загрузки страниц.

Какая разница где и что править? Верстальщик что безрукий и не может поправить скрипт? Ну вынеси ему эти файлы в массив в начало файла, а если он совсем обезьяна и это не понимает то не подпускай его в пхп вобще. Думаю он и на гульпе и на другом любом сервисе не справится с задачей.

 

Вместо того что бы умничать создавали бы свои темы и на практике
показали как вы видите решение подобных задач вместо того что бы
засирать тему исключительно теоретическими замечаниями. 

К сожалению всё что я вижу тут только усложняет существование веб проектов. Каждый вместо того чтобы использовать простые вещи, тянет многофункциональные, огромные проекты. Вы тянете VQMOD, GULP и прочую дрянь, но это только усложняет и без того сложные проекты, а простыми вещами пользоваться не хотите.

 

Теперь по поводу нюансов:

1) можете не добавлять переменную, но если вы захотите переместить папку, вы будете по всем css потом пути менять. если привыкли работать так, то это ваш выбор, я привык объявлять переменную  и работать с ней.

2) они хорошо обработаются и проблем с ними не будет, по крайней мере НЕРЕШАЕМЫХ проблем.

3) запрос в базу выполняется меньше сотых доли секунды, чтение файла на НОРМАЛЬНОМ сервере занимает ещё меньше времени, в итоге эта схема будет работать по скорости также как и ваш кэш, на создание которого уйдёт время, а в дальнейшем и возможные косяки когда у вас не будут применяться изменения, вам надо будет объявлять переменными чтобы кэш не работал для тестирования проекта и всё такое прочее, ровно как и в смарти.

4) какой порядок??? вы о чём? какой index.tpl? всё подключается предельно просто: создаётся правило для URL REWRITE

    case "style.css":
        require_once($this->config->root_dir.$this->settings->paths["css"]."main.php");
    break;

и также для js. всё. в шаблоне прописываете  <link rel="stylesheet" href="/style.css"> и всё работает.

1 css файл для ВСЕГО САЙТА, вот что должно быть на выходе. Также и для js.

5) так делают только самые последние извращенцы которые не могут правильно построить страницу каскадных стилей и js файл, и я надеюсь вы не из их числа.


Изменено: a13x, 01.02.2018 - 19:04


#13 DaVinci

DaVinci
  • Фрилансер
  • 1 139 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 01.02.2018 - 19:55

простая вещь это то что сделал автор данной темы а вы называете простыми "решения в лоб", складывается впечатление что вы еще не понимаете разницы


Изменено: DaVinci, 01.02.2018 - 19:55


#14 Maksclub

Maksclub

    Помогаю с Симплой и c PHP

  • Фрилансер
  • 1 389 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 01.02.2018 - 20:02

то есть верстальщику надо лезть в php что бы подключить css? а если на каждой странице подключены свои css и javascript файлы или надо вставить блок стилей или скриптов?

 

Верстальщикам сейчас куда проще с Gulp работать
 

вместо того что бы засирать тему исключительно теоретическими замечаниями.

 
че тут делать то? Просто собрал gulpfile.js:

var gulp = require('gulp');
var concat = require('gulp-concat');
var uglify      = require('gulp-uglifyjs');


gulp.task('scripts', function() {
    return gulp.src([
	'./design/theme/js/ajax_cart.js',
        './design/theme/js/catalog_filter.js',
        './design/theme/js/scripts.js'
	])
		
        .pipe(concat('app.js'))// Название файла, в который все объединяем
	.pipe(uglify())	// Сжимаем код
        .pipe(gulp.dest('./design/theme/js/')); // Путь куда кидаем результат сжатия	
});

и запустил одной командой gulp scripts


Изменено: Maksclub, 01.02.2018 - 20:09


#15 DaVinci

DaVinci
  • Фрилансер
  • 1 139 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 01.02.2018 - 20:12

Верстальщикам сейчас куда проще с Gulp работать
 

 
че тут делать то? Просто собрал gulpfile.js:

var gulp = require('gulp');
var concat = require('gulp-concat');
var uglify      = require('gulp-uglifyjs');


gulp.task('scripts', function() {
    return gulp.src([
	'./design/theme/js/ajax_cart.js',
        './design/theme/js/catalog_filter.js',
        './design/theme/js/scripts.js'
	])
		
        .pipe(concat('app.js'))// Название файла, в который все объединяем
	.pipe(uglify())	// Сжимаем код
        .pipe(gulp.dest('./design/theme/js/')); // Путь куда кидаем результат сжатия	
});

и запустил одной командой gulp scripts

 

на обычном хостинге работать будет?



#16 yr4ik

yr4ik
  • Фрилансер
  • 865 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:Украина Чернигов

Опубликовано 01.02.2018 - 20:14

По vqmod, если не нравится, то можете переделать на инструкцию и выложить тут в теме. Я даже ссылку поставлю в шапке. 
 
1) очень и очень спорный момент. При таком подходе все подключаемые компоненты и библиотеки должны проходить адаптацию под данный метод (это или пропись переменных или же указание полного пути к прикладным файлам).
 
2) ну в скрипте я не вижу обработок. Получается, с вашего примера, если в adaptive.css есть include то его нужно в ручную перенести в первый подключаемый файл или же он просто не обработается.
 
3) ну у меня вообще нет такого. Создается кэш файл и потом на него делается ссылка. В итоге дольше у меня получится лишь при разовой генерации кэша.
 
4) а ну это не так понял. Я думал что ваш скрипт подключается путем указания ссылки в шаблоне, а не правки htaccess или php роутеров.
 
5) ну я всегда прописывал стили и js в index.tpl с различными условиями на $module и тд. Но данный инструмент позволяет строить скрипты непосредственно для каждой страницы из нужного tpl (даже того что инклудиться через 10 колено). В итоге строиться минимально необходимый набор стилей и js. Уже сжатых и упакованых с подменой всех необходимых путей к прикладным файлам.

 

 

на обычном хостинге работать будет?

Думаю не будет) Минимум vds или же какой то не дешевый с премиум возможностями

 

reg.ru https://www.reg.ru/s...-hostinge-regru

 

ukraine.com.ua https://www.ukraine....g/NODEJS-1.html

 

Изменено: yr4ik, 01.02.2018 - 20:33


#17 DaVinci

DaVinci
  • Фрилансер
  • 1 139 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 01.02.2018 - 20:28

Думаю не будет) Минимум vds или же какой то не дешевый с премиум возможностями

 

да само собой не будет)) очевидно что опубликованный метод и предложенные варианты это разные подходы.

 

больше похоже на то что "кто то" недавно обнаружил для себя Gulp и ждал момент блеснуть знаниями  :D  Ну опубликуй себе отдельную тему, зачем тут забивать тему. Это так же как зайти в тему less и спросить на кой он нужен если уже есть sass. Остается молча развести руками с мыслями что ответить такому человеку))))

 

а на замечание про "Самый дибильный подход к созданию страниц, когда у вас куча css\js файлов и каждый подключается на разных страницах" я до сих пор не знаю что ответить и скорее всего нет смысла что ли бы комментировать)


Изменено: DaVinci, 01.02.2018 - 20:37


#18 Maksclub

Maksclub

    Помогаю с Симплой и c PHP

  • Фрилансер
  • 1 389 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 01.02.2018 - 21:23

больше похоже на то что "кто то" недавно обнаружил для себя Gulp и ждал момент блеснуть знаниями  :D  Ну опубликуй себе отдельную тему, зачем тут забивать тему. Это так же как зайти в тему less и спросить на кой он нужен если уже есть sass. Остается молча развести руками с мыслями что ответить такому человеку))))

 

Принято про хостинг, но все же — например мой ученик (верстак) делает объединение через Коалу (есть GUI) и выкладывает уже.

 

По поводу обнаружил/не обнаружил — че его обнаруживать? По мне — довольно уже распространенно все это, засорять не было цели (сорян) — просто как-то сложно показалось

 

Автору, конечно, большое спасибо — на форуме уже было много вопросов по поводу сжатия


Изменено: Maksclub, 01.02.2018 - 21:28


#19 a13x

a13x
  • Забаненый
  • 213 сообщений
  • Дизайн, Программирование, Верстка, SEO, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 01.02.2018 - 21:47

1) не вижу ничего спорного, кто как привык работать.

2) "или же он просто не обработается", но подключится.

3) дело не во времени, а в том, что это нужно только когда уже сайт полностью сделан, в моём случае это неважно. время обработки будет одно и тоже.

5) "ну я всегда прописывал стили и js в index.tpl с различными условиями на $module и тд" тут видимо кто как привык работать. я стараюсь в шаблоны не засовывать ничего кроме хтмл, все js и css в отдельные файлы. условия не подгрузку разных скриптов и ксс - от этого отказался сразу т.к. для ускорения работы сайта нужно минимум запросов к серверу, т.е. 1 на js и 1 на css. в вашем случае мне нужно будет каждый код обернуть\объявить\передать в обработчик который формирует кэш и чем больше разных файлов будет тем разные будут кэши. в моём случае всегда будет 1 постоянный файл.

ну и требования к хостингу это огромный минус. в моём случае даже самый дешевый хостинг подойдёт, но думаю ваше решение найдёт своего клиента :)

 

Это так же как зайти в тему less и спросить на кой он нужен если уже есть sass. Остается молча развести руками с мыслями что ответить такому человеку))))
а на замечание про "Самый дибильный подход к созданию страниц, когда у вас куча css\js файлов и каждый подключается на разных страницах" я до сих пор не знаю что ответить и скорее всего нет смысла что ли бы комментировать)

less, sass неверное сравнение. это почти одно и тоже. в моём же случае это маленький велосипед и дизельный автомобиль, которые едут с одинаковой скоростью, вопрос в том что именно вам подходит. мне например велосипеда достаточно. По поводу кучи ксс и js на разных страницах,  то тут всё зависит от того, нужно ли вам оптимизировать сайт до скорости загрузки выше 90 баллов или оставить на 60-70.

Мне например 98-100 баллов самое то.

head3.jpg


Изменено: a13x, 01.02.2018 - 21:53


#20 yr4ik

yr4ik
  • Фрилансер
  • 865 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:Украина Чернигов

Опубликовано 01.02.2018 - 21:55

1) не вижу ничего спорного, кто как привык работать.
2) "или же он просто не обработается", но подключится.
3) дело не во времени, а в том, что это нужно только когда уже сайт полностью сделан, в моём случае это неважно. время обработки будет одно и тоже.
5) "ну я всегда прописывал стили и js в index.tpl с различными условиями на $module и тд" тут видимо кто как привык работать. я стараюсь в шаблоны не засовывать ничего кроме хтмл, все js и css в отдельные файлы. условия не подгрузку разных скриптов и ксс - от этого отказался сразу т.к. для ускорения работы сайта нужно минимум запросов к серверу, т.е. 1 на js и 1 на css. в вашем случае мне нужно будет каждый код обернуть\объявить\передать в обработчик который формирует кэш и чем больше разных файлов будет тем разные будут кэши. в моём случае всегда будет 1 постоянный файл.
ну и требования к хостингу это огромный минус. в моём случае даже самый дешевый хостинг подойдёт, но думаю ваше решение найдёт своего клиента :)

 
2) он не подключится. http://htmlbook.ru/css/import

 [/size]@import[/size] не разрешается вставлять после любых объявлений кроме [/size]@charset[/size] или другого [/size]@import[/size].[/size]

 
5) при combine=true на выходе будет один кэш-файл как для js так и css. А если нужно разово все файлы то просто отдать все нужные файлы одним массивом.
{css id="libs" include=[
"design/{$settings->theme}/css/bootstrap.css",
"design/{$settings->theme}/css/animate.css",
"design/{$settings->theme}/css/style.css"
]}{/css}
у меня нет требований к хостингу

Изменено: yr4ik, 01.02.2018 - 21:56






Также с меткой «smarty, minify, js, css, vqmod, less»

0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых