Новости Joomla

Вышел WT Quick links v.2.4.0 - релиз модуля для Joomla

Вышел WT Quick links v.2.4.0 - релиз модуля для Joomla.Это модуль-конструктор для быстрого создания набора элементов. Это могут быть ссылки на компоненты Joomla, пункт меню или пользовательская ссылка. Есть условия для исключений показа элементов списка. Вы можете создавать собственные макеты вывода модуля, создавая таким образом почти всё, что угодно: от простого списка ссылок до стены фотографий на главную страницу или ссылки-теги для перелинковки категорий интернет-магазина, список FAQ, табы или аккордеоны. Модуль позволяет выводить изображения, адаптивные изображения, видео, адаптивные видео.v.2.4.0. Что нового?Добавлена поддержка новых компонентов. Добавлены новые типы ссылок и исключений для них: - Phoca Download, - Phoca Gallery, - RadicalMart (@radicalmart).Joomla 6. Успешно протестирована работа модуля на Joomla 6-alpha2.РазработчикамПроведён большой рефакторинг кода. Для типов ссылок созданы классы-драйверы. Теперь для того, чтобы добавить новый тип ссылки в модуль достаточно скопировать класс-образец из
modules/mod_wt_quick_links/src/Driver/Collection и наполнить его данными по образцу, а так же добавить необходимые языковые константы в панели администратора Joomla.Модуль бесплатный. Страница расширенияGitHub расширенияJoomla Extensions Directory👩‍💻 Подпишись на @joomlafeed.#joomla #разработка

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

👩‍💻 Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много. Самое главное, что возможности применения ограничиваются только вашей больной фантазией. Вы строите интерфейс своего модуля или плагина и вам нужно подтянуть данные из сторонней системы (список чего-нибудь по какому-нибудь API), чтобы сохранить выбранный id в Joomla. Или сделать какую-то проверку и в зависимости от неё показать то или иное сообщение пользователю. Для этого подойдут свои пользовательские типы полей. Интерфейс Joomla по большей части описан в XML-файлах. У каждого из них свои параметры. Некоторые не описаны в документации (manual.joomla.org), поэтому самым любопытным будет полезно заглянуть в собственно файлы фреймворка по пути

libraries/src/Form/FormField.php, а так же в
libraries/src/Form/Fields. У каждого класса поля перечислены его специфические свойства, которые можно описывать в XML. А в своём типе поля вы можете устанавливать эти значения программно. В моём модуле WT Quick links под капотом происходят изменения. Теперь для работы (в админке) ему нужен вспомогательный плагин. А в самом модуле нам бы проверить, а не выключен ли он? В Joomla есть тип поля Note - заметка. Его можно использовать для вывода примечаний.

<field type="note"     name="your_note_for_user"     label="Заголовок примечания"     title="Альтернативный способ для заголовка"     description="Текст примечания"     class="col-12 alert alert-info"     heading="h1"     close="true"/>
heading - указывать уровень заголовка.
close - позволяет закрыть это примечание. В классе поля
libraries/src/Form/Field/NoteField.php описана логика вывода. И в принципе оно нам подходит для нашей задачи. Но оно будет выводить сообщение всегда, а нам нужно только тогда, когда плагин отключён.Поэтому берём и создаём свой класс поля, который мы унаследуем от
NoteField. Это значит, что у нас в руках будет весь инструментарий стандартного поля
Note + то, что мы сами добавим. В XML-манифест добавляем наше поле
<field type="systempluginstatus"      name="systempluginstatus"     addfieldprefix="Joomla\Module\Wtquicklinks\Site\Fields"/>
-
type - имя файла и класса,-
addfieldprefix - указываем namespace к нашему классу, может быть любой нам нужный-
name - нельзя полю без имени...Это означает, что Joomla будет использовать класс поля из файла
modules/mod_wt_quick_links/src/Fields/SystempluginstatusField.php.А в классе поля будет написано следующее:
<?php// namespace для атрибута addfieldprefixnamespace Joomla\Module\Wtquicklinks\Site\Fields;// нельзя напрямую обращаться к этому файлуdefined('_JEXEC') or die;// подключаем родительский класс для переопределенияuse Joomla\CMS\Form\Field\NoteField;use Joomla\CMS\Language\Text;use Joomla\CMS\Plugin\PluginHelper;// имя класса и имя файла точь-в-точьclass SystempluginstatusField extends NoteField{     protected $type = 'Systempluginstatus';     protected function getLabel()          {               // если плагин не включён               if(PluginHelper::isEnabled('system','wtquicklinks')) {                    // меняем свойства родительского класса                    $this->class = 'alert alert-danger w-100';                    $this->element['label'] = '⚠️ А-а-а-а!';                    $this->element['description'] = 'Плагин не включён!!';                    // и просто рендерим его с нашими свойствами                    return parent::getLabel();               }          // А иначе всё хорошо, скрываем поле из виду.          $this->parentclass = 'd-none';          return '';     }}
Просто и удобно. И людям приятно, что о них позаботились и рассказали почему что-то не работает.@webtolkru#joomla #php #webdev #разработка

Обновлена информация в Плане развития Joomla

👩‍💻 Обновлена информация в Плане развития Joomla.Здесь собрана информация о датах релизов, описаны принципы версионирования, указаны ответственные за релизы, а так же даты окончания поддержки релизов. Опираясь на эту информацию вы можете планировать развитие ваших интернет-проектов.👩‍💻 Что нового?⛔️ Joomla 4.Дата окончания исправления ошибок безопасности в версии 4.x - 14 октября 2025г. ⚠️ После этой даты Joomla 4 прекратит получать какие-либо обновления, в том числе безопасности - вообще. Рекомендуем обновить ваши сайты до актуальной Joomla 5.✅ Joomla 5.- Дата окончания исправления ошибок в версии 5.x - 13 октября 2026г.- Дата окончания исправления ошибок безопасности в версии 5.x - 12 октября 2027 года.- Текущая актуальная (на момент написания заметки) версия - 5.3.1.- Опубликовано расписание выхода релизов Joomla 5.4. Стабильный релиз ожидается 14 октября 2025 года.✅ Joomla 6.- Дата окончания исправления ошибок в версии 6.x - 17 октября 2028г.- Дата окончания исправления ошибок безопасности в версии 6.x - 16 октября 2029г.- Опубликовано расписание выхода релизов Joomla 6.0. Стабильный релиз ожидается 14 октября 2025 года.- Для разработчиков уже доступна Joomla 6.0.0-alpha1.✅ Joomla! Framework.Обновлена информация о Joomla! Framework - полноценном PHP-фреймворке для разработки. Он в версиях 1.х и 2.х был самостоятельным параллельным проектом, однако начиная с версии Joomla 4.0 стал её основой. Добавлена информация о Joomla! Framework 3.x, который вышел 6 октября 2023 года. Его можно использовать в тех случаях, когда вам в проекте не нужна CMS Joomla целиком.Подробнее на сайте Joomla-сообщества Joomlaportal.ru#joomla #community

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

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Честно сказать, уже надоело клиентам объяснять, что для того, что бы увидеть правки, которые я внес, надо почистить историю, либо открыть сайт в режиме инкогнито. Нельзя ли как-то дать браузеру знать, что бы он не тянул данные из кеша, а загрузил все по новой? Может какой-нибудь хитрый JavaScript для этого существует?

Заранее спасибо всем, кто откликнется. Достало уже до чертиков(
« Последнее редактирование: 23.07.2018, 11:17:06 от dm-krv »
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
В общих настройках кэширование отключено?
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

lexxbry

  • Живу я здесь
  • 2387
  • 68 / 8
ctrl+F5 сложно нажать?

разные браузеры по разному воспринимают мероприятия по редактированию стилей
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
ctrl+F5 сложно нажать?

разные браузеры по разному воспринимают мероприятия по редактированию стилей

А ты попробуй иному клиенту объяснить, что это не сайт кривой, а у него браузер старые стили подгрузил. Особенно если клиент полный дуб и даже не знает, где адресная строка, а на сайты ходит через Яндекс.

Может компоненты есть, под Joomla, который по запросу с админки заново генерирует ссылки к стилям, но новым адресам? В итоге, браузер посетителя точно загрузит самую актуальную информацию.

В общих настройках кэширование отключено?

Само с собой. Речь о кешировании браузерами.
*

lexxbry

  • Живу я здесь
  • 2387
  • 68 / 8
блин ну по сути кешируется в браузере на стороне клиента
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
блин ну по сути кешируется в браузере на стороне клиента

Да. Как это обойти?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Можно добавить к имени CSS-файлу ?v=UNIX-время или ?UNIX-время.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Можно добавить к имени CSS-файлу ?v=UNIX-время или ?UNIX-время.

Воот. Нету простого JS который будет каждый раз дописывать рандомную приставку к картинками и стилям на странице? Вот совершенно нет желания шаблон ковырять, ради разового показа сайта клиенту.
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Это js-ом не решается!
Это нужно решать сервером. У вас шаблон самописный? Стили откуда и как цепляются?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Это js-ом не решается!
На самом деле решается, другое дело - у Joomla есть инструмент для решения сервером.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Это js-ом не решается!
Это нужно решать сервером. У вас шаблон самописный? Стили откуда и как цепляются?

Речь не о конкретной ситуации, а вообще. Надоело мне, каждый раз объяснять клиенту, что бы он смотрел сайт в режиме инкогнито. Для показа изменений заказчику, разумнее будет временно внедрить JS-код, который тупо допишет в HTML коде сайта рандомную концовку к файлам .css, .jpg и .png - тогда стили с сервера прогрузятся по новой и он увидит сайт так, как задумано, а не так, как запомнил его браузер.

Вот я и спрашиваю, может есть, где-нибудь в интернете уже готовый скрипт для описанной цели?
*

ProtectYourSite

  • Живу я здесь
  • 2364
  • 137 / 4
  • Безопасность вебсайтов
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
https://api.joomla.org/cms-3/classes/Joomla.CMS.Document.Document.html#method_addScript в опциях указывать версионность.

Увы, ничего не понял( Только начал учить JS и дальше переменных пока не ушел.
*

markus-s

  • Захожу иногда
  • 87
  • 8 / 0
Объявите в index.php шаблона переменную, например $version. Задайте ей произвольное значение. Например, дату изменения стилей (ну, скажем - 230718).
При подключении стилей и(или) скриптов ниже, допишите строки - к имени файла добавьте версию таким образом:
Код
.../mystyle.css?<?php echo $version; ?>

В последующем, после редактирования стилей - обновляйте значение переменной $version - например меняйте дату на текущую (полагаю, если редактируете стили, изменить пару цифр одной строки в index.php не проблема). Браузеры будут загружать стили по-новой.
Как-то так. Возможны варианты и усовершенствования. У меня на некоторых сайтах определённые стили подключаются не в index.php, а в переопределении макетов - в таком варианте нам нужно что-то глобальное - например можно объявить константу (константы глобальны) и юзать её в т.ч. и в макетах.
Не знаю, честно говоря, насколько всё это правильно, но пока это наиболее действенный и удобный для меня вариант - по умолчанию стили и скрипты кешируются (и это хорошо), а если что-то поменял - изменил одну строчку и они подгрузились заново и... снова кешируются (уже в обновлённом варианте). ^-^
« Последнее редактирование: 23.07.2018, 20:17:22 от markus-s »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
надо что то типа такого: системный плагин, ловим onBeforeCompileHead, перебираем $document->_scripts и $document->_styleSheets, если файл локальный - добавляем '?v='.filemtime($file)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Объявите в index.php шаблона переменную, например $version. Задайте ей произвольное значение. Например, дату изменения стилей (ну, скажем - 230718).
При подключении стилей и(или) скриптов ниже, допишите строки - к имени файла добавьте версию таким образом:
Код
.../mystyle.css?<?php echo $version; ?>

В последующем, после редактирования стилей - обновляйте значение переменной $version - например меняйте дату на текущую (полагаю, если редактируете стили, изменить пару цифр одной строки в index.php не проблема). Браузеры будут загружать стили по-новой.
Как-то так. Возможны варианты и усовершенствования. У меня на некоторых сайтах определённые стили подключаются не в index.php, а в переопределении макетов - в таком варианте нам нужно что-то глобальное - например можно объявить константу (константы глобальны) и юзать её в т.ч. и в макетах.
Не знаю, честно говоря, насколько всё это правильно, но пока это наиболее действенный и удобный для меня вариант - по умолчанию стили и скрипты кешируются (и это хорошо), а если что-то поменял - изменил одну строчку и они подгрузились заново и... снова кешируются (уже в обновлённом варианте). ^-^



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

Для сравнения:
1. На публикацию js кода надо потратить всего пару секунд, отключается он также нажатием одной кнопки.
2. На ручное редактирование линков в шаблоне уйдет минимум 5 минут + нервы (оно того не стоит), после сдачи сайта еще и удалять придется все, что дописал.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Спойлер
[свернуть]
Положите перед </body>.
« Последнее редактирование: 23.07.2018, 21:41:36 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

fsv

  • Живу я здесь
  • 2781
  • 410 / 2
Положите перед </body>.
Кэширование в пролете.
Не надо на js, дописать линкам в качестве версии время последнего изменения файла (автоматом, на php). Не так уж много таких файлов в шаблоне.
Веб-разработка: заказ. Только новая разработка.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Кэширование в пролете.
Не надо на js, дописать линкам в качестве версии время последнего изменения файла (автоматом, на php). Не так уж много таких файлов в шаблоне.
Да, так - дешево и сердито :). Похорошему надо
что то типа такого: системный плагин, ловим onBeforeCompileHead, перебираем $document->_scripts и $document->_styleSheets, если файл локальный - добавляем '?v='.filemtime($file)
+ onBeforeRender для картинок.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Кэширование в пролете.

Это и нужно! Когда надо будет, я просто отключу в админке модуль с этим кодом, это в разы удобнее, чем потом чистить модифицированные php файлы шаблона.

Robert, огромное тебе спасибо за код! Все работает. Сам бы я хрен написал подобное) Не с моими навыками пока.
*

fsv

  • Живу я здесь
  • 2781
  • 410 / 2
Это и нужно!
Это не нужно.
Вы думаете только о презентации заказчику. А о старых стилях, закэшированных у посетителей сайта, не думаете. И для них надо подсунуть новые имена измененных файлов (js, css).
Зачем в шаблоне чистить? На то он и шаблон.
Веб-разработка: заказ. Только новая разработка.
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Это не нужно.
Вы думаете только о презентации заказчику. А о старых стилях, закэшированных у посетителей сайта, не думаете. И для них надо подсунуть новые имена измененных файлов (js, css).
Зачем в шаблоне чистить? На то он и шаблон.

О каких, к черту, посетителях идет речь, если методу я планирую использовать только для вновь созданных сайтов? Порой заказчик просить поменять цвета и картинки, было бы очень удобно иметь инструмент, который заставит браузер заказчика заново грузить стили при каждом заходе. Само с собой, после сдачи проекта отрубаем скрипт и тогда кеширование заработает вновь.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Исчезло меню при редактировании материалов и категорий

Автор Lier

Ответов: 20
Просмотров: 2635
Последний ответ 27.06.2022, 15:29:04
от dron
Не отображаются поля при создании и редактировании модулей и материалов

Автор Didj

Ответов: 5
Просмотров: 702
Последний ответ 04.05.2022, 21:49:39
от marksetter
Можно ли вывести поля материала в модуль?

Автор montpellier

Ответов: 12
Просмотров: 896
Последний ответ 20.12.2021, 13:41:56
от montpellier
Почему стили для @media print не видны в файле стилей custom.css

Автор GuDeVic

Ответов: 28
Просмотров: 1396
Последний ответ 21.07.2021, 21:57:16
от effrit
Как можно добавить новые шрифты в Joomla 3?

Автор 62411

Ответов: 3
Просмотров: 895
Последний ответ 30.06.2021, 13:46:48
от Akeksandr