Новости Joomla

👩‍💻 WT CDEK library v.1.3.0 - обновление PHP SDK для Joomla + CDEK.

👩‍💻 WT CDEK library v.1.3.0 - обновление PHP SDK для Joomla + CDEK.

Небольшая нативная PHP Joomla библиотека для работы с API v.2 службы доставки CDEK. Библиотека представляет собой клиент для авторизации в CDEK API по OAuth, работы с некоторыми методами API: получения ряда данных и расчета стоимости доставки. Поддерживается Joomla 4.2.7 и выше.

В пакет входят:
- библиотека Webtolk/Cdekapi
- системный плагин System - WT Cdek для хранения настроек и AJAX-интеграций
- task-плагин Task - Update WT Cdek data для обновления локальных копий справочников CDEK по расписанию
- web asset с официальным JavaScript-виджетом СДЭК

👉 v.1.3.0. Что нового?
- Полный рефакторинг библиотеки. Библиотека переработана в entity-based API с фасадом Cdek и отдельным слоем запросов. Обратная совместимость не нарушена, поэтому версия библиотеки - 1.3.0.
- Добавлена поддержка новых разделов API СДЭК. Добавлена поддержка новых разделов API СДЭК: webhooks, prealert, печатные формы, payment, passport, reverse, intakes и других сущностей.
- Улучшена интеграция с Joomla.
Улучшена интеграция с Joomla: installer script для layouts, новые поля Joomla Form для тарифов и обновлённые js виджета CDEK.
- документация библиотеки. Все методы библиотеки подробно описаны, а так же текст документации собран в отдельной папке в git репозитории и будет опубликован на сайте.

Библиотека эта нужна для разработчиков, создающих свои расширения для интеграции Joomla и курьерской службы CDEK.

Страница расширения
GitHub расширения

@joomlafeed

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

rsn

  • Давно я тут
  • 520
  • 34 / 3
Версии 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 »
Возможно, будет интересно: Интеграция с Ozon
*

dmitry_stas

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

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: Версии CSS и JS файлов
« Ответ #2 : 07.08.2018, 10:47:28 »
del
 
« Последнее редактирование: 07.08.2018, 11:56:45 от draff »
*

rsn

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

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

И кстати, это не менее актуально для файлов шаблона. Что я, собственно, и использую.
Возможно, будет интересно: Интеграция с Ozon
*

dmitry_stas

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

kern.USR

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

rsn

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

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

dmitry_stas

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

rsn

  • Давно я тут
  • 520
  • 34 / 3
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), и подцеплять этот файл в шаблон для использования номера версии?

Интересны мнения на этот счёт
Возможно, будет интересно: Интеграция с Ozon
*

dm-krv

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

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: Версии CSS и JS файлов
« Ответ #10 : 09.08.2018, 09:06:51 »
Включить режим отладки, зайти на фронтенд, выключить режим отладки
*

Театрал

  • Захожу иногда
  • 232
  • 7 / 0
Re: Версии CSS и JS файлов
« Ответ #11 : 12.01.2020, 02:03:01 »
Тоже вот хотелось бы, чтоб при малейшем изменении файла менялась и "его версия"... не включая режим отладки!

====

В общем вот, что смог придумать:

Код

function fileVersion ($fileName) {
    $folder = end(explode(".", $fileName)); // имя папки берём из расширения файла, т.к. стили и скрипты лежат в папках CSS и JS
    $realpath = realpath(dirname(__FILE__) . '/' . $folder . '/' . $fileName);
    return  'ver=' . date("Ymdhi", filemtime($realpath));
}

JHtml::_('stylesheet', 'template.css', array('version' => fileVersion ('template.css'), 'relative' => true));

JHtml::_('script', 'template.js', array('version' => fileVersion ('template.js'), 'relative' => true));


Проверок на существование файла нет, т.к. если JHtml::_('stylesheet', 'template.css' не сработает (файл отсутствует), то и функция не будет вызвана.
« Последнее редактирование: 26.12.2021, 12:21:31 от Театрал »
*

sivers

  • Живу я здесь
  • 2606
  • 361 / 0
Re: Версии CSS и JS файлов
« Ответ #12 : 12.01.2020, 10:12:41 »
Так а чем плох
Код
JHtml::_('script', 'template.js', array('version' => 'auto'));
или
Код
JDocument::addScriptVersion('template.js');
?
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

ProtectYourSite

  • Живу я здесь
  • 2368
  • 139 / 4
  • Безопасность вебсайтов
Re: Версии CSS и JS файлов
« Ответ #13 : 12.01.2020, 10:51:35 »
Там версия насколько понимаю зависит от версии Joomla, если вручную вносить правки, то версия не изменится.
*

sivers

  • Живу я здесь
  • 2606
  • 361 / 0
Re: Версии CSS и JS файлов
« Ответ #14 : 12.01.2020, 11:05:24 »
Там версия насколько понимаю зависит от версии Joomla, если вручную вносить правки, то версия не изменится.
Надо же - действительно так. Проверил сейчас - версия не поменялась.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Re: Версии CSS и JS файлов
« Ответ #15 : 13.01.2020, 09:21:21 »
Я пока остановился на этом:

Разово:
В начале index.php шаблона после defined('_JEXEC') or die;
Код
$version = 221
;
Ниже, там, где подключаю CSS и JS - дописываю версию.
Так:
Код
JHtml::_('stylesheet', 'main.css', array('version' => $version, 'relative' => true));
И так:
Код
<link rel="stylesheet" href="<?php echo '/templates/'.$this->template.'/css/bottom.css?'.$version; ?>">
<script src="<?php echo '/templates/'.$this->template.'/js/custom.js?'.$version; ?>"></script>

В дальнейшем, если обновил CSS или JS и хочу, чтобы он точно обновился у посетителей, - правлю в начале index.php шаблона номер версии на следующий.
Это не кнопка в один клик, но тоже очень простое и быстрое действие.

Всё работает ОК. Никакой доп. нагрузки и задержки на проверку модификации файла.

Можно, конечно, это автоматизировать. Но пока другие задачи более приоритетны. Это и так устраивает.
Возможно, будет интересно: Интеграция с Ozon
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Re: Версии CSS и JS файлов
« Ответ #16 : 13.01.2020, 09:25:24 »
Кстати, сейчас подумал:
Можно номер версии брать из версии расширения (шаблона).
А эту версию шаблона, в свою очередь, проверять и обновлять, скажем, небольшим скриптом, запускаемым кроном хоть каждую минуту. Если изменился хотя бы 1 файл из шаблона - обновить последние цифры в версии шаблона.
Возможно, будет интересно: Интеграция с Ozon
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин для транслитерации имен загружаемых файлов

Автор KSS

Ответов: 5
Просмотров: 3580
Последний ответ 02.10.2025, 09:57:13
от Леон
Не удается поменять название почты в мобильной версии ((

Автор stitch808

Ответов: 7
Просмотров: 2315
Последний ответ 27.03.2025, 23:23:58
от azm1n
Разные меню для мобильной и для ПК версии сайта

Автор jimka

Ответов: 7
Просмотров: 2791
Последний ответ 24.03.2025, 20:03:01
от R31rus
Валидация формы с загрузкой файлов на сервер

Автор kuliev

Ответов: 4
Просмотров: 1338
Последний ответ 17.01.2025, 14:38:44
от kuliev
Отображение на мобильной версии

Автор annetkas

Ответов: 9
Просмотров: 10301
Последний ответ 28.10.2024, 10:56:18
от annetkas