Telegram Web
Joomla. Когда они это починят?

Статья Joomla Community Magazine 2015 года, но тема в ней актуальна была и до и после её публикации. Проблема, которая поднимается в этой статье касается не только Joomla, но и любого программного обеспечения.

Каждый раз, когда выходит новая версия всегда найдутся люди, спрашивающие: "Когда они это починят?". Или вопиющих: "этой проблеме уже много лет". Но для того, чтобы ошибку исправить нужно чтобы кто-то её обнаружил. И не только обнаружил, но и сообщил об этом. Тогда вероятность того, что ошибку исправят будет гораздо выше.

У Joomla нет сотрудников. Joomla - это open source проект сообщества, который развивается усилиями программистов из разных стран. Они выделяют своё свободное время на то, чтобы добавить новые фичи и прихлопнуть как можно больше багов. Joomla - довольно универсальный инструмент, существует множество разных и равнозначных способов решения задач с её помощью. Поэтому если какая-то ошибка очевидна для вас, то она может быть абсолютно не очевидна для кого-то другого.
Не сидите сложа руки и не ждите, пока кто-то другой столкнется с той же ошибкой, которую вам придется исправлять самостоятельно при каждом обновлении или на которую вы жалуетесь каждый раз, когда используете Joomla.


Вы можете сообщить об ошибке: создать issue на GitHub или на issues.joomla.org. Хорошее сообщение об ошибки содержит описание самой ошибки, ситуации, в которой она возникает, инструкцию как воспроизвести ошибку. Всё это облегчит жизнь разработчикам, которые возьмутся её исправлять.

Кроме того, вы можете протестировать уже сделанные исправления ошибок. Joomla следит за качеством кода и каждое изменение в коде ядра должно быть проверено как минимум 2-мя другими независимыми разработчиками. Тест от автора изменений в коде не считается. Поэтому вполне возможно, что вашу проблему уже давно решили, но требуется всего лишь протестировать её исправление и нажать кнопочку "Tested successfully" в PR на issues.joomla.org.

Ни одно программное обеспечение не лишено ошибок — это постоянный процесс. Приложите к их исправлению совсем немного своих усилий. Под лежачий камень вода не течёт.


Joomla Community Magazine: Did they fix it yet?

#community #сообщество
👍144🔥1
Состоялся Joomla meetup. Москва.

Вчера, 10 апреля 2025г. в Москве состоялся мини Joomla-митап. Митап - это неформальная, некоммерческая встреча участников IT-сообщества для обмена опытом, обсуждения общих планов, действий по развитию сообщества.

На этой встрече обсудили настоящее и будущее Joomla, глобальные мысли о возможном проведении Joomla Day Russia, а также менее глобальные, но от этого не менее важные и интересные - о создании Joomla User Group (JUG) - Moscow. В рамках JUG обычно проводятся регулярные встречи как оффлайн, так и онлайн или гибридного формата. Обмен опытом, мнениями, дружеская подсказка, сделанная вовремя - это Joomla User Group. Пока что ещё продумываются детали и идёт поиск места для оффлайн-встреч.

👩‍💻 Для координации встреч участников сообщества в Москве был создан отдельный чат: гостиницы, станции метро, площадки для проведения мероприятий и кафе/рестораны для их продолжения - в чате Joomla Meetup Moscow. Иногда 10-15 минут личной встречи заменяют несколько часов переписки или телефонных разговоров. Если вы оказались в столице по рабочим или личным делам - пишите, вам будут рады.

На фото: Владимир Елисеев @progreccor (разработчик Radical Form и др.), в середине - чета Толкачевых: Диана и Сергей (@sergeytolkachyov, расширения WebTolk, админ чата сообщества) и Владимир Сергиенко (@aixman, маркетолог и разработчик, админ чата сообщества).
Please open Telegram to view this post
VIEW IN TELEGRAM
👍163🔥22
Вышел шаблон Astroid Framework Version 3.2.0

Обновление популярного шаблона-билдера Astroid для Joomla. После выхода версии 3.1.0 добавлено много улучшений.

👩‍💻 Что нового?

Динамический контент.
Самое главное обновление - это добавление динамического контента (доступно в PRO-версии и для тестировщиков).

Улучшения
- Множество улушений кодовой базы шаблона и конструктора
- Возможность объединить страницу «Coming Soon» с Offline-страницей

Обновлено
- Используйте меню Link Icon Class, если он задано.
- Обновление Scss с версии 1.12 до версии 2.0.1
- Обновление Bootstrap 5.3.5
- Обновление локализации в связи с добавлением динамического контента
- Обновление Font Awesome 6.7.2

Спасибо за новость участнику нашего сообщества Ринату Кажетову (@rkazhet).

Скачать с GitHub

#joomla #шаблоны
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2
RegularLabs aka [Peter van Westen] дропнул lifetime подписку и переводит на сервис *Paddle* (подписочная модель).

Коротко:
🔹 Lifetime больше не поддерживается напрямую – теперь нужно раз в год бесплатно (можно и платно) продлевать подписку.

В целом ничего для LifeTime юзеров серьезного не изменилось, но раз в год нужно будет через ЛК Regular Labs бесплатно продлевать свою подписку.

- via @CB9TOIIIA 😇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Вышел релиз Joomla 5.3.0

Joomla 5.3 — последняя минорная версия в серии Joomla 5 перед выходом Joomla 6 осенью 2025 года.
Этот релиз сосредоточен на продуманных улучшениях, которые совершенствуют работу с CMS. От лучшей организации файлов и журналирования задач до расширенной обработки электронной почты и улучшенной доступности — Joomla 5.3 помогает администраторам и разработчикам работать более эффективно, сохраняя ваш сайт современным, безопасным и готовым к будущему.

👩‍💻 Joomla v.5.3.0. Что нового?

Улучшенные HTML-шаблоны писем. Просмотр шаблона письма теперь имеет доступ к параметрам шаблона, что позволяет лучше настраивать исходящие сообщения.
Добавлена папка "files". В Медиа Менеджере добавлена новая папка «files», которая помогает организовать не графические файлы (PDF, документы и т. д.) отдельно от изображений.
Запланированные задачи — история выполнения. Планировщик теперь ведет полный журнал выполнения задач, что упрощает мониторинг автоматизированных процессов и поиск ошибок.
Настройки текста ссылки «Подробнее» в модуле материалов. Добавлена новая опция, позволяющая администраторам сайта отображать или скрывать заголовок статьи в ссылках «Подробнее», выводимых в модуле материалов.
Улучшенная доступность. Иконки в компоненте «Контакты» теперь полностью доступны для экранных читалок, что улучшает пользовательский опыт для всех.
SEO. Роутинг: Улучшенная маршрутизация. Строгая маршрутизация и улучшенные параметры SEF URL уменьшают количество дублированного контента и ненужных перенаправлений, повышая SEO вашего сайта.
Современные события плагинов. Joomla продолжает переход к типизированным классам событий в основных плагинах, улучшая читаемость кода и поддержку в IDE (среда разработки).
Тонкая настройка прав доступа (ACL) для параметров компонентов. Теперь владельцы сайтов могут давать администраторам доступ к настройке параметров компонентов без полного доступа ко всему компоненту.
HTMLHelper::script() и HTMLHelper::stylesheet() помечены как устаревшие. Используйте WebAsset API.
Поддержка PHP 8.4. Joomla 5.3 включает важные изменения для обеспечения совместимости с PHP 8.4, помогая вашему сайту быть готовым к будущим обновлениям.

Подробнее на портале Joomla сообщества.

Подпишись на @joomlafeed
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1464🔥1
Forwarded from WebTolkRu (Sergey Tolkachyov)
👩‍💻 Рендер пользовательского поля внутри другого пользовательского поля. Joomla 5.3.

Писал ранее о том, как внутри одного пользовательского поля рендерить другое пользовательское поле. Применил для этого возможность Joomla обращаться к методам плагинов напрямую. Процитирую строчку кода из предыдущего поста:
$joomlaFieldContentPlugn->onContentPrepare('com_content.article', $fakeItem, $app->getParams());

Joomla постепенно переходит от простого указания аргументов для триггеров плагинов к собственным классам событий. Это позволяет не запоминать порядок передачи аргументов класса и использовать человекопонятные методы $event->getContext(), $event->getItem() и т.д. А то в одном месте в Joomla было $article, в другом - $item, в третьем ещё как-то... Порядку больше становится.

Сегодня обновил сайт клиентов до Joomla 5.3. В ней обновили контент-плагин fields и мой финт ушами с вызовом метода плагина отвалился потому, что я передавал в нём 3 аргумента, вместо одного. И для события onContentPrepare это должен быть объект класса ContentPrepareEvent.

Как меняется фрагмент кода из предыдущего поста:
// мы находимся в файле макета поля

use Joomla\CMS\Event\Content\ContentPrepareEvent;
use Joomla\CMS\Factory;

$app = Factory::getApplication();
$fakeItem = new \stdClass();
// Получаем id текущего материала из объекта Input
$fakeItem->id = $app->getInput()->getInt('id');
// {field 29} - это шорт код вставки поля с id 29 - "ассортимент проекта"
// к содержимому поля конкатенируем шорт-код для обработки
$fakeItem->text = $field->value . '{field 29}';
// Получаем объект плагина
$joomlaFieldContentPlugn = $app->bootPLugin('fields', 'content');
// вызываем метод обработки напрямую
// вместо 3-х аргументов теперь указываем один
// это объект класса ContentPrepareEvent
$joomlaFieldContentPlugn->onContentPrepare(new ContentPrepareEvent('onContentPrepare', [
'context' => 'com_content.article',
'subject' => $fakeItem,
'params' => $app->getParams(),
'page' => 0,
]));
// выводим оба поля
echo $fakeItem->text;

@webtolkru

#joomla #webdev #php #разработка #поля
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Управление очередностью плагинов в Joomla 5 с помощью приоритетов обработки событий

Для разработчиков Joomla предоставляет 7 уровней приоритета выполнения плагинов. По умолчанию большинство плагинов запускаются с приоритетом NORMAL. Если вы как разработчик хотите дать возможность своим пользователям устанавливать порядок выполнения плагинов не только с помощью перетаскивания их мышкой в админке в рамках одной группы, но и с помощью параметра, то вам окажется полезной эта заметка.

Автор - участник нашего сообщества Виталий Некрасов (@vitalik_a).

Читать на Joomlaportal

#joomla #разработка #php

👩‍💻 Если у вас есть интересные и полезные материалы о Joomla - присылайте админам сообщества. Разместим, тегнем, дадим ссылку.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍55
Релиз JBZoo 4.50.3 (Joomla 4/ Joomla 5.3+)
Устанены проблемы у товаров с вариациями цен. (теперь корректно работает множество цен (вариантов) у товара).

Исправлен баг со скидкой (discount) в jbvariant

Исправлены ошибки в модулях (fix PHP errors)

[*] Добавлены макеты uikit3 и bs5 (bootstrap 5) для catalog

много мелких правок...


Протестировано на Joomla 5.3+

Скачать: https://github.com/JBZoo-CCK/JBZoo/releases/tag/4.50.3
👍62
This media is not supported in your browser
VIEW IN TELEGRAM
WT View PDF - контент-плагин просмотра PDF для Joomla

Плагин позволяет отображать pdf файлы на сайте Joomla в виде HTML5 <object>, а так же с помощью javascript библиотеки PDF.js. В этом случае подключите её самостоятельно или используйте плагин web assets WT PDF.js. Укажите путь к файлу в шорт-коде {PDF}path/to/file.pdf{/PDF}.

Вы можете указать параметр tmpl в шорт-коде для отображения PDF с выбранным макетом. Например, {PDF tmpl=html5object}path/to/file.pdf{/PDF} . Если параметр tmpl не указан, то PDF-файл будет отображаться с помощью макета, указанного по умолчанию в настройках плагина.

Плагин предоставляет 4 макета:
- default - pdf-файл встраивается в страницу целиком с помощью библиотеки PDF.js. Требует установленного плагина веб-ассета WT PDF.js.
- bootstrap-modal - просмотр файла во всплывающем окне Bootstrap 5. Отображается кнопка, по нажатию на которую открывается модальное окно. Также внизу окна отображается прогресс просмотра текущего файла. Требует установленного плагина веб-ассета WT PDF.js.
- html5object - отображение содержимого файла с помощью HTML5 тега <object>. Этот макет не требует установки никаких дополнительных плагинов и отображает содержимое pdf файла в Joomla с помощью стандартного для браузера окна.
- uikit-modal - аналогично макету Bootstrap, но с использованием UIkit.

Также вы можете создать собственные макеты вывода в папке plugins/content/wtviewpdf/tmpl плагина Joomla.

Минимальная версия Joomla - 5.

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

👩‍💻 Спасибо за помощь в работе над плагином участнику нашего сообщества - Виталию Некрасову (@vitalik_a).

#joomla #расширения
Please open Telegram to view this post
VIEW IN TELEGRAM
👍103🔥1🎉1
Шаблон-конструктор T4 от JoomlaArt получил совместимость с Joomla 5.3

Вышел T4 Framework v2.4.7. для создания шаблонов Joomla. Вместе с фреймворком получили обновления более 25 шаблонов студии JoomlaArt, о чём сообщается в их блоге.

Подробнее

#шаблоны #joomla
👍1
Логирование действий пользователя в Joomla. Создание плагина Actionlog.

На вашем сайте, внутреннем портале, в интернет-магазине кто-то что-то сделал, а потом всё сломалось: сайт открывается криво (или не открывается вообще?), перестали работать фоновые задачи в планировщике, установились неправильные скидки всем пользователям на все товары... Предположим, что с безопасностью у вас всё хорошо: Joomla свежая, актуальная, расширения - тоже. Да и в логах сервера и логах Joomla тоже чисто... Тогда остаётся ещё один источник информации - Лог действий пользователей Joomla. Основная его задача - помочь быстро найти кому настучать по рогам причину и устранить её.

Всё, что связано с действиями в админке - может логироваться: от обновления системы и компонентов, изменения настроек до редактирования и сохранения конкретных элементов (статьи, товары, категории и т.д.) и загрузки файлов через медиа менеджер. Нередко этот функционал помогает найти тех контент-менеджеров, кто дублирует названия товаров, создавая дубли и тем самым негативно влияя на SEO. Или же вдруг обнаруживается недозаполненная, но опубликованная карточка товара, которой не должно было быть, но она появилась. И ладно если б это был единичный случай...

Читать статью на Хабре

#joomla #разработка #php
👍32
Учимся использовать Dependency Injection Containers (DI контейнеры) в Joomla 5.

На Хабре вышла статья, рассказывающая как использовать dependency injection контейнер (DI-контейнер) в Joomla, а так же затрагивающая работу с трейтами. Она полезна всем разработчикам, работающим с Joomla.

Автор статьи - участник нашего сообщества Виталий Некрасов (@vitalik_a).

Читать статью на Хабре

#joomla #разработка #php
3👍2🔥2
Reset Media Version v.2.0.0. Плагин для Joomla!

Плагин выводит кнопку, для быстрого обновления версии медиафайлов Joomla.

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

👩‍💻 Решение проблемы
Этот плагин добавляет кнопку на главную панели управления Joomla (в группу Quick Icon), которая позволяет администратору вручную сбросить системную версию медиа-файлов, чтобы все CSS и JS ресурсы начали подключаться с новым параметром версии (?ver=...). Это принудительно обновляет кэш браузеров и CDN.

Системные требования
- Joomla >= 4.2 / 5.x
- PHP >= 7.4

Разработчик - участник нашего сообщества Артём Васильев (@kernusr)

Скачать с GitHub

#joomla #расширения #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1832
Вышла новая версия плагинов для вставки VK Видео на сайт под управлением Joomla.

В новой версии полностью переписан интерфейс вставки видео. Теперь нет необходимости вставлять IFRAME с сайта VK. Достаточно вставить просто ссылку на видео.

Номер версии: 1.2.0

Плагины распространяются бесплатно.

Инструкция

Разработчик: участник нашего сообщества Владимир Егоров (@sitogon)

#joomla #вк #расширения
👍131🔥1
Плагин вставки языковых констант в контент Joomla.

Плагин позволяет вставлять значения языковых констант в статьи, модули и другой контент Joomla с помощью синтаксиса {langos LANGUAGE_CONSTANT}.

При создании мультиязычного сайта на Joomla вы часто сталкиваетесь с ситуацией:
Нужно изменить всего несколько слов в модуле или статье в зависимости от языка — но приходится создавать отдельные копии контента для каждой языковой версии. Это неудобно и требует лишних усилий.


👩‍💻 Решением проблемы становится плагин Langos.

Langos позволяет вставлять языковые константы прямо в контент с помощью простого синтаксиса:
{langos YOUR_LANGUAGE_CONSTANT}

Это работает как вызов \Joomla\CMS\Language\Text::_('YOUR_LANGUAGE_CONSTANT'), но без необходимости программировать или редактировать шаблоны.

Кроме того, плагин поддерживает загрузку языковых файлов конкретных расширений, например модулей или компонентов. Для этого просто укажите третий аргумент в шорткоде:
{langos MOD_FOOTER_LINE1, mod_footer}

Теперь плагин загрузит языковую константу из соответствующего языкового файла именно этого расширения.

Ключевые особенности плагина

🚀 Результаты работы плагина сохраняются в кэше, что положительно влияет на производительность сайта
🔁 Совместим с Joomla Cache, JotCache и другими популярными системами кэширования
🧩 Вставка языковых констант в любые элементы контента: статьи, модули и т.д.
🌐 Полная интеграция с системой мультиязычности Joomla
🔌 Работает «из коробки» с любыми стандартными типами контента
🛠 Не требует навыков программирования
🧪 Подходит для использования визуальными редакторами и не-программистами
📦 Поддержка загрузки языковых файлов конкретных расширений
🎯 Идеален для динамической замены текста в разных языках

Системные требования
Joomla >=4.2 | 5.x
PHP >= 7.4

Разработчик плагина - участник нашего сообщества Артём Васильев (@kernusr).

Скачать плагин с GitHub и документация.

#joomla #расширения
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥421
joomLab Icon Module: иконки к заголовку модуля.

Плагин позволяет добавлять иконку (изображение) к заголовку модуля. После установки плагина в модулях появляется вкладка "Иконка", на этой вкладке можно выбрать любое изображение.

Разработчик - участник нашего сообщества Александр Новиков (@pro_portal)

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

#joomla #расширения
👍9🔥31
Обновление модуля WT Quick links v.2.3.0
Модуль позволяет создавать быстрые наборы элементов: ссылки на различные сущности на сайте Joomla: категории материалов, Virtuemart, JoomShopping, пункт меню или пользовательскую ссылку. Есть условия для исключений показа элементов списка.

Вы можете создавать собственные макеты вывода модуля, создавая таким образом почти всё, что угодно: от простого списка ссылок до стены фотографий на главную страницу или ссылки-теги для перелинковки категорий интернет-магазина. Модуль позволяет выводить изображения, адаптивные изображения, видео, адаптивные видео. Также это могут быть не только ссылки, но и список вопросов FAQ, элементы Bootstrap Tabs, Accordion и т.д.

v.2.3.0 Что нового?

- Собственные макеты для ссылок
Теперь для каждой ссылки можно указать собственный макет из папки /tmpl/sublayout/. Для использования модуля в этом режиме, необходимо выбрать макет модуля - default-sublayouts или создать собственный вариант этого макета.
- Обработка плагинами контента
Содержимое поля Дополнительный текст для ссылки теперь обрабатывается плагинами контента.
- Поле примечания
Добавлено поле примечания для ссылки. Это удобно ориентации в большой форме.
- Рефакторинг кода
Проведена чистка и улучшения кода.

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

#расширения #virtuemart #JoomShopping
👍63
Как вызвать событие только для указанной (одной или более) группы плагинов в Joomla 5

Системные плагины в Joomla срабатывают всегда, но большое их количество может негативно сказаться на скорости работы Приложения. А во-вторых ошибка в системном плагине, добавляющем кнопку в тулбар может обрушить механизм регистрации / авторизации пользователя. Поэтому для лучшего быстродействия и надёжности работы системы плагины в Joomla разделены на группы. Каждая группа срабатывает только в определённом месте и в определённый момент времени.

Небольшой пост-шпаргалка для Joomla-разработчиков от участника нашего сообщества Виталия Некрасова (@vitalik_a) подскажет как в своём коде сделать то, что написано в заголовке поста 😎

Читать пост на Хабре

#joomla #php #разработка #webdev
Please open Telegram to view this post
VIEW IN TELEGRAM
👍77
Вышел JoomShoppping 5.7.0
Один из популярных компонентов интернет-магазина на Joomla.
30 апреля вышел релиз 5.6.2, а 15 мая его догнал релиз 5.7.0. В целом можно отметить, что команда разработки взяла курс на развитие собственного установщика расширений для JoomShopping, а так же на удобство администрирования магазина в панели администратора.

👩‍💻 v.5.7.0. Что нового?
- Добавлено управление платными расширениями (установка / обновление / получение ключа).
- Возможность изменять позиции для аддонов. Других подробностей нет, но возможно это означает что для вывода данных аддонов стало возможно переключать позиции вывода в шаблоне JoomShopping вида _tmp_var_bottom_price и т.д.
- Улучшена форма создания клиента для администратора – введенные данные сохраняются после ошибки проверки.
- Новый параметр конфигурации admin_products_search_by_prod_id_range (поиск по диапазону идентификаторов товаров (x-y)). В интерфейсе настроек его нет. Нужно включать в файле user_config.php.
- для разработки аддонов - новый метод getAddonParam().
- Добавлены новые триггеры для плагинов
- Исправления ошибок.

👉 v.5.6.2 (30.04.2025)
- Атрибуты, характеристики - добавлена иконка в списке с подсказкой о том, что этот элемент не используется
- Атрибуты, характеристики - подсчет количества товаров, где используется данная характеристика / атрибут
- Библиотека обработки изображений:
- - добавлена поддержка avif
- - исправлена ошибка с обработкой прозрачности для webp
- Добавлена новая настройка: поиск товаров администратором по коду атрибута
- Добавлена кнопка "Копировать" в списке способов оплаты (опции / способы оплаты)
- Шаблон товара - оптимизирована загрузка шаблона - block_image_middle, блокировка изображения с помощью большого пальца
- Все поля mysql имеют значения по умолчанию
- Исправления ошибок
- Добавлены новые триггеры для плагинов

Скачать JoomShopping

#JoomShopping #расширения
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63
2025/10/21 00:44:28
Back to Top
HTML Embed Code: