Новости 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 Гость просматривают эту тему.
  • 11 Ответов
  • 6154 Просмотров
*

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
Не давно делал сайт (обновлял до Joomla 2.5.11 и JoomShoping 3.14.3) и без проблем переопределил константу языкового файла магазина "Подробнее" на "Узнать больше". Но сейчас делаю новый сайт - чистая установка (не обновление!) Joomla 2.5.11 и JoomShoping 3.14.3 и теперь не могу переопределил константу языкового файла, данная функция не работает. Поиском константа не находиться и даже если прописываю ее вручную - ничего не меняется. очень нужно переопределить (заменить) константы сайта и админ.части "Страна" на "Район доставки". Помогите разобраться в проблеме.

UPD.:
Проверил чем отличаются эти два сайта - В предыдущем сайте в папке "language/ru-RU" есть файл "ru-RU.com_jshopping.ini", а в новом сайте его нет. Скопировал данный файл с одного сайта на другой. Теперь переопределение констант языкового файла для сайта работает, но как заставить это работать для админ.части сайта - вот это вопрос. Может кто нибудь подскажет?
« Последнее редактирование: 06.05.2013, 10:56:56 от kit2m2 »
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
Все манипуляции с переопределение констант языкового файла для сайта ни к чему не привели, "Страна" так и осталось "Страной", а не "Районом доставки". Пришлось править по старинке файл "ru-RU.php" из папки "/components/com_jshoping/lang" и наверно его придется править постоянно после почти каждого обновления компонента, а это очень не удобно. Как говориться "рано радовался", вот только не понятно почему на одном сайте переопределение констант языкового файла работает, а на другом нет. Хотя версии Joomla и JoomShoping одинаковые на обоих сайтах, как и хостинг, так и настройки PHP 5.3.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

nevigen

  • Moderator
  • 10447
  • 863 / 25
  • http://n*****n.com
шаблон ДИВный.
первый скорее всего до 3.13.
там ленг переменные были номральные как в Joomla.. как положено
а с 3.1.3 мы переделали обратно взад, как на ЖШ. потом переолпределения на стром работают а на новом нет.
Перевели обратно потому что мношие путались и некоторые константы в ЖШ тянутся из админ ленга..
кароче путаницы много.

Просили разработчиков уже не раз перевести на нормальные константы, хотябы с версии уже для Ж3..
но 100 бед 1 ответ.. сложно много расширений под это..

Используйте оверрайд папку для ленга в папке ЖШ для своих констант.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
Используйте оверрайд папку для ленга в папке ЖШ для своих констант.

Пробовал не помогает. А разработчикам уже давно пора менять расположение языковых файлов магазине, с такими темпами можно дотянуть и до Joomla 4.0. По моему уже давно нет компонентов у которых языковые файлы не пойми где - КАТАСТРОФИЧЕСКИ НЕ УДОБНО.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

evpadallas

  • Захожу иногда
  • 171
  • 42 / 1
Цитата из переписки с разработчиками:
Цитировать
-------------
Вы меня не поняли. Мы не можем сейчас перейти на ini файлы.
-------------
переделать на ini файлы все розширения нет смысла (и так работает).
-------------
Переход на ini файлы тянет за собой  изменения в шаблонах - а это уже
проблема в совместимости со старымы версиями (разработчики меня ....).
*

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
No comments... Пусть тогда подскажут как без проблем для обновления компонента изменить языковые константы. Или еще, можно пойти более "легким" путем - добавить в компонент возможность редактировать язык компонента из админки сайта по типу как у Joomla "Переопределение констант". И чтобы данные сохранялись при обновлении, как например у компонента AriQuiz.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
создайте файл \components\com_jshopping\lang\override\ru-RU.php (en-GB и т.п.) и определяйте там константы
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
создайте файл \components\com_jshopping\lang\override\ru-RU.php (en-GB и т.п.) и определяйте там константы

  • А для языка административной части, где определять (нужно для клиента, чтобы не путался с администрированием)?
  • В "ru-RU.php" прописывать все строки языка или только которые нужно переопределить?
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

nevigen

  • Moderator
  • 10447
  • 863 / 25
  • http://n*****n.com
только нужные, на то оно и оверрайд ;)
а вот для админки... такого не предусмотрено
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
только нужные, на то оно и оверрайд ;)
а вот для админки... такого не предусмотрено

Для сайта сделал как писалось ранее - все работает. Для админки сделал сам: в папке "administrator\components\com_jshopping\lang" создал папку "override", а в ней файл ru-RU.php и переименовал константы - как ни странно работает и для админки.

Неплохо бы чтобы в новой сборке компонента, папка "override" для админке уже была. Всем спасибо за помощь.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

alex_nice

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
создайте файл \components\com_jshopping\lang\override\ru-RU.php (en-GB и т.п.) и определяйте там константы

Сделал, не работает ((( JoomShopping 5

Может не такой синтаксис
*

dss

  • Захожу иногда
  • 62
  • 0 / 0
решил так: в файле ru_RU.php строчку define('_JSHOP_RABATT_NON_CORRECT', 'Дисконтный код не работает'); заменил на
define('_JSHOP_RABATT_NON_CORRECT', JText::_('_JSHOP_RABATT_NON_CORRECT'));
в переопределениях Joomla создал языковую константу _JSHOP_RABATT_NON_CORRECT
теперь подгружает текст как надо
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

В описании категории не работает плагин Jshortcodes

Автор SLV

Ответов: 1
Просмотров: 863
Последний ответ 09.09.2024, 17:35:29
от kit2m2
[Решено] Не удаляются товары из корзины (Multi basket ajax)

Автор goga_pgasovav

Ответов: 0
Просмотров: 880
Последний ответ 14.08.2024, 23:19:57
от goga_pgasovav
Добавление одного файла в группу товаров

Автор DarkMare

Ответов: 1
Просмотров: 1176
Последний ответ 16.06.2023, 10:13:59
от kit2m2
Не работает pop-up окно в товаре

Автор Alex_gs

Ответов: 2
Просмотров: 1256
Последний ответ 06.06.2023, 07:12:10
от kit2m2
[Решено] Не отображать блок сопутствующих товаров если их всех нет в наличии

Автор goga_pgasovav

Ответов: 3
Просмотров: 1395
Последний ответ 20.03.2023, 19:13:28
от goga_pgasovav