Новости 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 для атрибута addfieldprefix namespace 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 Гость просматривают эту тему.
  • 17 Ответов
  • 837 Просмотров
*

vodochnikoff

  • Новичок
  • 4
  • 0 / 0
Здравствуйте.
Сайт после миграции с Joomla 2.5. на Joomla 3.
Шаблон - стандартный "Protostar".
В коде любой страницы сайта вижу, что к URL всех .js и .css - файлов добавляется вопросительный знак и одна и та же строка символов:

   <script src="/media/jui/js/jquery.min.js?4cadfc0b311b5e8826f8f125ebcab4c9"></script>
   <script src="/media/jui/js/jquery-noconflict.js?4cadfc0b311b5e8826f8f125ebcab4c9"></script>
   <script src="/media/jui/js/jquery-migrate.min.js?4cadfc0b311b5e8826f8f125ebcab4c9"></script>
   <script src="/media/system/js/caption.js?4cadfc0b311b5e8826f8f125ebcab4c9"></script>
   <script src="/media/jui/js/bootstrap.min.js?4cadfc0b311b5e8826f8f125ebcab4c9"></script>
   <script src="/templates/protostarmy/js/template.js?4cadfc0b311b5e8826f8f125ebcab4c9"></script>
   <!--[if lt IE 9]><script src="/media/jui/js/html5.js?4cadfc0b311b5e8826f8f125ebcab4c9"></script><![endif]-->


Как избавиться от этого мусора?
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Это не мусор, а идентификатор версии файла. Не нужно избавляться.
Создание сайтов, шаблонов, помощь в решении проблем.
*

vodochnikoff

  • Новичок
  • 4
  • 0 / 0
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Надо избавлять от этого.
Это идентификатор сессии, добавляется плагином либо шаблоном к пути файла, чтобы в случае его изменения все апдейты не кешировались но сразу отображались.
С этой точки зрения это хорошо.
Но с другой - для браузера это по сути новые файлы, загрузка которых происходит заново (не из кеша браузера). Зашел на сайт сегодня - закешировал одни файлы стилей\скриптов, зашел завтра - ID сессии изменился и заново браузер качает всё 3 метра скриптов и стилей.
Я бы отключал подобные вещи, если генеряться автоматически.
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Это идентификатор сессии
неа, это идентификатор версии Joomla, а не сессии. избавляться как и сказал @Efanych не нужно.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
неа, это идентификатор версии Joomla, а не сессии. избавляться как и сказал @Efanych не нужно.
С чего это? 4cadfc0b311b5e8826f8f125ebcab4c9 это вполне себе md5 строка сессии, часто встречаю в клубных шаблонах, чтобы не кешировались файлы
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
С чего это?
ну может конечно какой то клубный шаблон и использует ее так экзотически, но вообще это стандартная версионность Joomla, к шаблонам никакого отношения не имеющая
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
но вообще это стандартная версионность Joomla, к шаблонам никакого отношения не имеющая

И как ты её расшифруешь?
Предлагаю, чтобы ТС выложил скрин исходного кода с этими айдишниками и скрин таблицы сессий в этот же момент из пхпадмина. Тогда и будет ясно кто прав.
Я кучу раз такое видел, когда к файлам стилей добавляется ?v=blabla чтобы не кешировались, в данном случае уверен что этот ID это сессия.
Либо пусть ТС даст адрес сайта, зайдем с разных мест и сравним эти значения.
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Шаблон - стандартный "Protostar".
Предлагаю, чтобы ТС выложил скрин исходного кода с этими айдишниками
Код: php
// Add JavaScript Frameworks
JHtml::_('bootstrap.framework');

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

// Add html5 shiv
JHtml::_('script', 'jui/html5.js', array('version' => 'auto', 'relative' => true, 'conditional' => 'lt IE 9'));

// Add Stylesheets
JHtml::_('stylesheet', 'template.css', array('version' => 'auto', 'relative' => true));
Создание сайтов, шаблонов, помощь в решении проблем.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Исходный код я имел в виду браузера, чтобы сравнить с базой сессий
Цитировать
array('version' => 'auto', 'relative' => true)
Ну вот этот кусок и похож на метод генерации CSS\JS с опцией.

Efanych - ты знаешь адрес сайта? Если да - скинь мне, зайду и сравним значение этого параметра в адресах файлов.
Если разное - значит 100% сессия, если одно - принесу свои извинения, значит неправильно понял ситуацию
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Efanych - ты знаешь адрес сайта? Если да - скинь мне
Нет, но стандартный же протостар...
Opera
<link href="/templates/protostar/css/template.css?ed5eee8dada9da5d1086af79fdf50923" rel="stylesheet" />
Chrome
<link href="/templates/protostar/css/template.css?ed5eee8dada9da5d1086af79fdf50923" rel="stylesheet" />
Создание сайтов, шаблонов, помощь в решении проблем.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
та я думаю можно увидеть почти на любом сайте где последняя Joomla стоит https://demex.nevigen.com/
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Нет, но стандартный же протостар...

Ну хз тогда, согласен )) может стандартный и шифрует версию туда, зачем правда непонятно
Просто никогда не пользуюсь стандартными шаблонами, начиная с движка 1.5 у меня всегда базовый кастомный шаблон без всякой мишуры на все проекты
А то что некоторые пихают туда плагинами ?v=2\3\4 это встречал достаточно часто, когда локальная сетка у клиента кеширует жестко приходится такое внедрять
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
может стандартный и шифрует версию туда, зачем правда непонятно
чтобы когда Joomla обновилась файлы перекешировались
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
чтобы когда Joomla обновилась файлы перекешировались
а зачем? Когда пользовательские файлы шаблонов остались без изменения (кстати бред обновления обновлять файлы стандартных шаблонов, которые многие используют, вносят изменения и бац при обновлении движка шаблон тоже полетел)
В общем согласен, был неправ, это мд5 версии движка в данном случае.
Но - категорически нельзя использовать стандартный шаблон для своего сайта в продакшне
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
а зачем? Когда пользовательские файлы шаблонов остались без изменения
так а там же это добавляется к системным файлам только, всякие /media/jui/js/ , /media/system/ и т.п, а к пользовательским файлам не должно добавляться по идее. ну только если сам не добавишь.

Но - категорически нельзя использовать стандартный шаблон для своего сайта в продакшне
это конечно, переопределять надо как минимум
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Как минимум это удобно. В шаблоне что-то сменил, кэш почистил и юзвери видят всё новое без задержек.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Как минимум это удобно. В шаблоне что-то сменил, кэш почистил и юзвери видят всё новое без задержек.
Это если ИД в адресе не изменился, иначе для браузера это тот же адрес и так же кешируется
Потому многие используют сессии, что плохо для клиента и сервера
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Стоит ли ставить плагин rel="canonical" на Joomla 3

Автор azm1n

Ответов: 2
Просмотров: 663
Последний ответ 09.05.2025, 12:39:18
от azm1n
Валидация формы с загрузкой файлов на сервер

Автор kuliev

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

Автор svarg

Ответов: 5
Просмотров: 1103
Последний ответ 23.02.2024, 22:05:51
от Vastriet
Ограничить описание определенным кол-ом символов

Автор DamaVbubi

Ответов: 5
Просмотров: 1156
Последний ответ 13.02.2024, 20:44:36
от sivers
reCapcha во всплывающем окне - "Ошибка защиты от спама"

Автор Dannik

Ответов: 12
Просмотров: 2387
Последний ответ 14.09.2023, 18:59:24
от all_zer