0 Пользователей и 1 Гость просматривают эту тему.
  • 10 Ответов
  • 278 Просмотров
*

rsn

  • Захожу иногда
  • 180
  • 11 / 0
Версии CSS и JS файлов
« : 07.08.2018, 08:09:50 »
Привет, коллеги!
В последних версиях Joomla появилась такая штука как автоматический контроль версий CSS и JS файлов и обновление путей до них.

В шаблонах это выглядит так:
Код
JHtml::_('stylesheet', 'main.css', array('version' => 'auto', 'relative' => true));
'version' => 'auto'

В HTML коде страницы:
Код
<link href="/templates/mkelektro/css/main.css?dada6753446d773121b16e74c4633248" rel="stylesheet" />
Параметр ?dada6753446d773121b16e74c4633248
Соответственно, параметр время от времени обновляется.

Это очень круто. Но:
Кто знает, как это работает?
Когда обновляются пути? После какого действия или события?
Предлагаю это немного обсудить  ^-^

Поискал на оф. сайте, не нашёл.
Поделитесь, пожалуйста, если кто знает.
« Последнее редактирование: 07.08.2018, 08:33:26 от rsn »
Есть одна хорошая компания, с которой приятно иметь дело )
*

dmitry_stas

  • Легенда
  • 12185
  • 1158 / 7
Re: Версии CSS и JS файлов
« Ответ #1 : 07.08.2018, 09:59:42 »
по факту это актуально только для файлов ядра Joomla. параметр этот - это по сути просто версия Joomla.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

draff

  • Живу я здесь
  • 3476
  • 226 / 6
  • Ищу работу
Re: Версии CSS и JS файлов
« Ответ #2 : 07.08.2018, 10:47:28 »
del
 
« Последнее редактирование: 07.08.2018, 11:56:45 от draff »
Удалю вирус с сайта. Обновление Joomla!, JoomShopping, Virtuemart -> Коммерческий раздел     |    Отзывы
Создам плагин , модуль под заказ для VirtueMart , JoomShopping
*

rsn

  • Захожу иногда
  • 180
  • 11 / 0
Re: Версии CSS и JS файлов
« Ответ #3 : 07.08.2018, 12:28:34 »
по факту это актуально только для файлов ядра Joomla. параметр этот - это по сути просто версия Joomla.
Спасибо за ответ.
Можно уточнить: почему Вы считаете именно так, что событием для обновления параметра служит обновление Joomla?

Мне показалось, что параметр обновляется чаще, чем обновление Joomla. Хотя строго не следил, могу и ошибаться.

И кстати, это не менее актуально для файлов шаблона. Что я, собственно, и использую.
Есть одна хорошая компания, с которой приятно иметь дело )
*

dmitry_stas

  • Легенда
  • 12185
  • 1158 / 7
Re: Версии CSS и JS файлов
« Ответ #4 : 07.08.2018, 12:46:34 »
я не сказал, что событием для обновления параметра служит обновление Joomla. я сказал что по сути этот параметр - это версия Joomla :) а параметр обновляется гораздо чаще, например после установки расширений. а при включенном дебаге - вообще каждый раз при загрузке страницы. но вопрос в том, что это никак не влияет на сторонние расширения. ну вернее влияет, только толку что вы например установили какой-нибудь модуль, хеш версии поменялся, а файлы CSS например шаблона даже не думали меняться.  а тем не менее они будут перезагружены. разве это правильно? и наоборот - вы по фтп поменяли css шаблона, хеш версии при этом само собой не менялся. итого браузер грузит файл из кеша. короче, имхо идея нормальная, а реализация хромает.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

kern.USR

  • Давно я тут
  • 805
  • 61 / 1
Re: Версии CSS и JS файлов
« Ответ #5 : 07.08.2018, 13:13:34 »
я не сказал, что событием для обновления параметра служит обновление Joomla. я сказал что по сути этот параметр - это версия Joomla :) а параметр обновляется гораздо чаще, например после установки расширений. а при включенном дебаге - вообще каждый раз при загрузке страницы. но вопрос в том, что это никак не влияет на сторонние расширения. ну вернее влияет, только толку что вы например установили какой-нибудь модуль, хеш версии поменялся, а файлы CSS например шаблона даже не думали меняться.  а тем не менее они будут перезагружены. разве это правильно? и наоборот - вы по ftp поменяли CSS шаблона, хеш версии при этом само собой не менялся. итого браузер грузит файл из кеша. короче, имхо идея нормальная, а реализация хромает.
Кстати, в более ранних версиях был такой метод getMd5Version. Сейчас он depricated, т.к. создаёт большую нагрузку, при каждой загрузке сайта.
Нынешний метод getMediaVersion не создаёт такой нагрузки, но не даёт правдивости хэшей, но если использовать встроенный кэш Joomla - проблема, как бы, сама себя ликвидирует. Т.к. хэш медиаверсии кэшируется и любое изменение в стилях должно приводить к сбросу кэша, а значит и к генерации нового хэша. Как по мне - реализация неплохая, но ей мало кто пользуется. Да и на боевых проектах редко вносятся такие изменения, что хэши постоянно сбрасывать приходится
*

rsn

  • Захожу иногда
  • 180
  • 11 / 0
Re: Версии CSS и JS файлов
« Ответ #6 : 07.08.2018, 13:23:30 »
Теперь понятнее. Спасибо.
и наоборот - вы по ftp поменяли CSS шаблона, хеш версии при этом само собой не менялся. итого браузер грузит файл из кеша. короче, имхо идея нормальная, а реализация хромает.
Согласен.
Развить бы то того, чтобы хеш обновлялся при обновлении даты редактирования css/js файла, вот это была бы вещь.
Возможно, это будет реализовано позже.

Да и на боевых проектах редко вносятся такие изменения, что хэши постоянно сбрасывать приходится
По-моему, как раз на "боевых" проектах, это и актуально.
Да, не очень часто. Но вручную обновлять версию, чтобы у старых пользователей обновилось, тоже не очень приятно на постоянной основе.
Есть одна хорошая компания, с которой приятно иметь дело )
*

dmitry_stas

  • Легенда
  • 12185
  • 1158 / 7
Re: Версии CSS и JS файлов
« Ответ #7 : 07.08.2018, 13:27:20 »
Развить бы то того, чтобы хеш обновлялся при обновлении даты редактирования css/js файла, вот это была бы вещь.
да, так и нужно
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

rsn

  • Захожу иногда
  • 180
  • 11 / 0
Re: Версии CSS и JS файлов
« Ответ #8 : 09.08.2018, 07:45:16 »
Код
JHtml::_('stylesheet', 'main.css', array('version' => 'auto', 'relative' => true));
Тут вместо auto можно указать просто число, номер версии.

Соответственно, можно этот номер править руками или подставить переменную.

Разумеется, тоже самое (подставить переменную) можно сделать в случае прямого указания ссылки на CSS в виде строки:
Код
<link rel="stylesheet" href="/templates/mkelektro/css/bottom.css?<?php echo $peremennaya; ?>">

Как думаете, что если сделать небольшой скрипт, который выполнять кроном каждые 5-10 минут, чтобы он записывал в дополнительный небольшой файл (в шаблоне) номер версии (если изменилась дата обновления файла css), и подцеплять этот файл в шаблон для использования номера версии?

Интересны мнения на этот счёт
Есть одна хорошая компания, с которой приятно иметь дело )
*

dm-krv

  • Давно я тут
  • 501
  • 7 / 0
Re: Версии CSS и JS файлов
« Ответ #9 : 09.08.2018, 08:18:10 »
Народ, а нельзя как-то вручную обновить вот этот рандомный хвост в один клик? Было бы удобно.
*

kern.USR

  • Давно я тут
  • 805
  • 61 / 1
Re: Версии CSS и JS файлов
« Ответ #10 : 09.08.2018, 09:06:51 »
Включить режим отладки, зайти на фронтенд, выключить режим отладки
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работаю рекламные блоки Adsense в мобильной версии сайта

Автор superbrest

Ответов: 0
Просмотров: 40
Последний ответ 19.11.2018, 00:31:43
от superbrest
Добавление "?" и строки символов к URL всех.js и.css - файлов

Автор vodochnikoff

Ответов: 17
Просмотров: 187
Последний ответ 21.10.2018, 20:01:12
от beliyadm
Оптимальные версии PHP&MySQL

Автор NetSKY

Ответов: 2
Просмотров: 168
Последний ответ 06.10.2018, 10:40:03
от NetSKY
Левая реклама в мобильной версии

Автор irina_m

Ответов: 7
Просмотров: 179
Последний ответ 12.09.2018, 10:27:37
от dmitry_stas
Абсолютные пути для файлов из менеджера

Автор Шмайсер

Ответов: 5
Просмотров: 176
Последний ответ 17.07.2018, 19:00:09
от NewUsers