WebTolkRu
99 subscribers
618 photos
72 videos
2 files
643 links
Joomla-разработчик. Контрибьютер ядра Joomla. https://web-tolk.ru. Разработка Joomla на заказ. Также пишу в @JoomlaFeed.
@sergeytolkachyov Хабр: https://habr.com/ru/users/sergeytolkachyov/posts/
Download Telegram
Хорошо люди Joomla крутят )) Так держать!

https://t.me/projoomla/179963

#joomla
👍1
👩‍💻 Переопределение макета НЕ в шаблоне Joomla.
Мы все знаем, что при работе с сайтом создание своих переопределений стандартных макетов - это типовая, стандартная работа. Она позволяет сделать из материалов, контактов почти всё, что угодно.

И так же мы знаем, что по классике эти переопределения кладутся в папку html активного шаблона Joomla (не важно, для админки или для пользовательской части).
Макет blog.php и blog.xml к нему из JPATH_SITE/components/com_content/tmpl/category/ мы помещаем в templates/<ВАШ_ШАБЛОН>/html/com_content/category и творим там всё, что захотим:
- любая вёрстка в blog.php и субмакетах
- любое название для типа пункта меню (гаражи, дачи, самолёты - каталог чего вы делаете на материалах) - в blog.xml (или samolet.php + samolet.xml).
- любые дополнительные параметры для пункта меню на этот тип - добавьте нужные кнопки и инпуты в blog.xml

Да, это всё классика. Удобно то, что мы создаём нужный нам тип пункта меню таким образом и можем выбрать его в админке: список самолётов, список гаражей.

Если наше переопределение лежит в шаблоне, то URL при создании пункта меню будет вида index.php?option=com_content&view=category&layout=yourtemplate:samolet.

Именно так, через двоеточие: layout=yourtemplate:samolet. Joomla будет знать, что нужно залезть в нужный шаблон и взять нужное переопределение. Если мы НЕ создаём свой тип пункта меню таким образом, а просто переопределяем - то всё ок.

❓ А что будет с сайтом, если мы переключили шаблон на другой?
На старых долгоживущих проектах нередко структура пунктов меню большая и запутанная. Если мы сделали новый шаблон сайта и переключили его в админке - у нас послетают все наши переопределения. И они не будут работать до тех пор, пока мы не прощёлкаем все пункты меню и не пересохраним их. Так, чтобы в их url теперь был new-template:samolet в параметре layout.

И тут мне вспомнился механизм работы с макетами в модулях, где мы можем положить свой макет как в папку с модулем, так и в папку с переопределением. В обоих случаях мы можем его использовать.

Если макет лежит в папке с модулем.
- Он работает
- Его можно переопределить в шаблон (хотя зачем, это же наш макет)
- Он не изменится при смене шаблона
- ⛔️ Минус - неудобно в работе, когда все макеты разложены по своим модулям и нужно прыгать по папкам в проекте

Макеты лежат в папке html шаблона.
- всё рядышком
- типовой подход Joomla (хотя и предыдущий тоже типовой)
- удобно для типовых шаблонов - сделал комплект переопределений в своём шаблоне и таскаешь из проекта в проект
- ⛔️ неудобно, когда впереди большая работа по смене шаблона и нельзя, чтобы сразу послетало всё из-за смены шаблона.

Я решил провести мини-эксперимент, в целом заранее зная его результат: положить "переопределение" материала не в html/com_content шаблона, а в папку с компонентом. Точь-в-точь как с модулями.

Оно работает. Мы создаём собственный тип вывода контента, не привязанный к конкретному шаблону. URL нашего пункта меню будет без двоеточия и имени шаблона. Просто index.php?option=com_content&view=category&layout=samolet.

И знаете, это повод задуматься о применении этой возможности, хотя раньше я бы первым закричал: "Вы что-о-о?!?! Нельзя-а-а!"
Когда у нас проект, где:
- не сложная структура
- переопределения макетов в шаблоне делаются один раз на несколько лет.
- их (переопределений и новых типов пунктов меню) МАЛО...

...здесь положить всё в шаблон сам Бог велел.

Когда:
- сложная структура меню
- в ней много разных ТИПОВ пунктов меню
- и все они норовят зависеть от шаблона...

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

🤔 В общем, это скорее философские вопросы о разграничении ответственности и кто эту ответственность на себя берёт, кто это будет поддерживать.

@webtolkru

#joomla #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Forwarded from Joomla Feed (Sergey Tolkachyov)
👩‍💻 WT Max v.0.3.0 - библиотека для интеграции с Joomla.
Joomla-библиотека для API мессенджера MAX с системным плагином для настроек и диагностики подключения. Библиотека предназначена для разработчиков.

Пакет оборачивает основной Composer PHP SDK webtolk/max в joomla-расширение, даёт набор Joomla Form полей для удобной работы в контексте Joomla.

v.0.3.0. Что нового?
- Обновление Max PHP SDK. Обновлена встроенная PHP-библиотека для работы с MAX API.
- Команды бота. Добавлена поддержка команд бота: теперь интеграции могут обновлять список команд, который видят пользователи.
- Работа с комментариями. Добавлена работа с комментариями к сообщениям: отправка, просмотр, редактирование и удаление.
- Работа с чатами. Расширены возможности работы с чатами и ответами на кнопки, включая описание чата и управление предпросмотром ссылок.
- Обновление документации. Обновлены документация и проверочные схемы API.

- Страница расширения (GitHub)
- Max platform PHP SDK

@joomlafeed

#joomla #php #расширения #разработка #max
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from Joomla Feed (Sergey Tolkachyov)
Media is too big
VIEW IN TELEGRAM
👩‍💻 WT Image Resize and Convert v.1.0.0 - плагин конвертации изображений в Joomla.
Плагин автоматически изменяет размер, конвертирует и при необходимости добавляет водяной знак к изображениям, которые Joomla сохраняет через Медиа Менеджер .

Плагин позволяет :
- конвертировать изображения из jpg в webp, avif и т.д. - в современные форматы изображений.
- делать обрезку, подгонку изображений под формат
- настраивать разные правила обработки изображений для разных папок на сайте

Плагин бесплатный. Работает с Joomla 5+.

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

@joomlafeed

#расширения #joomla
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Forwarded from Joomla Feed (Sergey Tolkachyov)
Media is too big
VIEW IN TELEGRAM
👩‍💻 Плагин Joomla WT Content Image Gallery v.1.3.0 для вставки фото и видео.

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

Плагин позволяет делать смешанные галереи фото и видео и создавать для них собственные макеты вывода: карусели, стены изображений, формат сторис на сайте и т.д. Вы можете создать собственную вёрстку и использовать в плагине.

v.1.3.0. Что нового?
- Добавился удобный выбор изображений и видео с помощью стандартного медиа менеджера Joomla.
- Добавлена возможность сортировки выбранных файлов, папок.

Ссылки:
- Страница расширения
- Joomla Extensions Directory
- GitHub

@joomlafeed

#joomla #расширения
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Forwarded from Joomla Feed (Sergey Tolkachyov)
👩‍💻 Морфологическая библиотека Morphos для Joomla.

Библиотека предназначена для разработчиков. Склоняет имена собственные, названия географических объектов, склонение и плюрализация имен собственных и другое.
Работает с русским и английским языками.
Пример задачи для библиотеки:
$name = Morphos::inflectName('Иванов Петр', 'родительный'); //склонение имени
$gender = Morphos::detectGender('Петя Канаков'); //определение поля по имени

Данное расширение "оборачивает" оригинальную библиотеку в Joomla-расширение для удобного штатного обновления библиотеки и подключения её в свои расширения.
Мейнейнер Joomla-расширения - участник нашего сообщества Дмитрий Денисов (@mitriy_bug).

- Страница расширения
- Github библиотеки

#joomla #расширения #dev
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Мой плагин WT Image Resize and Convert выложен в Joomla Extensions Directory!
Это уже 42-е расширение, доступное в официальном маркетплейсе расширений Joomla.

Смотреть плагин здесь

@webtolkru

#joomla
👍4🔥2
Forwarded from Joomla Feed (Sergey Tolkachyov)
Media is too big
VIEW IN TELEGRAM
👩‍💻 WT Custom menu item banner v.1.3.0.
Как сделать баннеры для пунктов меню Joomla сайта? С плагином WT Custom menu item banner для Joomla можно использовать адаптивные изображения и адаптивные имиджевые видео для создания баннеров на каждый пункт меню. Для вывода в шаблоне используйте пример кода из документации. Вы можете создать свой собственный шаблон вывода баннера или использовать стандартный макет.

v.1.3.0. Что нового?
- переработана frontend-загрузка видео-баннеров
- Улучшение производительности и скорости загрузки

- Страница плагина
- GitHub плагина
- Joomla Extensions Directory

#joomla #расширения
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
👩‍💻 Релиз плагина WT SEO Meta templates - JoomShopping v.2.1.0.
Данный плагин добавляет переменные с данными из категорий и карточке товара JoomShopping, которые может обрабатывать основной плагин WT SEO Meta templates. Параметры плагина позволяют задать единый для всех категорий и/или товаров шаблон, по которому будут формироваться текст тега <title> и текст meta-тега description. Если параметры плагина отключены совсем, то он просто будет формировать переменные, которые Вы можете использовать при заполнении <title> и meta-description вручную.

v.2.1.0. Что нового?
- Глобальные мультиязычные формулы для товаров. Теперь можно задать отдельные заголовки и описания страниц товаров для каждого языка сайта.
- Улучшена совместимость с Joomla 6. Кастомные SEO-переменные из файла работают корректно.

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

#joomla #joomshopping #seo
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from Joomla Feed (Sergey Tolkachyov)
👩‍💻 JoomShift - компонент переноса контента между Joomla сайтами.
Он позволяет экспортировать модули, меню, материалы, категории, пользовательские поля и пользователей в виде переносимых JSON/ZIP-файлов, а затем импортировать их в любую другую установку Joomla.

Возможности компонента:
- Модули — полная настройка, назначение пунктов меню, позиционирование и содержимое SharePoint Page Builder.
- Меню — иерархия родительских/дочерних элементов, типы элементов, ссылки, уровни доступа и параметры. Отсутствующие типы меню создаются автоматически, а элементы, указывающие на неустановленные компоненты, пропускаются с предупреждением.
- Статьи и категории — контент, метаданные, изображения и иерархия категорий.
- Пользовательские поля — группы полей, определения, ограничения по категориям и значения (включая поля с несколькими значениями) — экспортируются и автоматически создаются заново на целевом сайте.
- Пользователи — данные профиля, назначения групп и хэши паролей, чтобы учетные записи работали сразу после импорта.
- Кросс-версии Joomla - компонент адаптируется к различиям в схеме базы данных между версиями Joomla.
- Создан для крупных сайтов — постраничные списки (20/50/100/250 строк) и автоматический пакетный экспорт для сайтов с более чем 500 элементами, поэтому он продолжает работать на обычном хостинге.
- Опция перезаписи — обновляет совпадающие элементы при повторном импорте вместо создания дубликатов.
- Drag-n-drop импорт с подробным отчетом о том, что было импортировано, обновлено или пропущено, и почему.

На момент написания заметки для скачивания необходима регистрация/логин на сайте разработчика.

- Joomla Extensions Directory
- Страница расширения

#joomla #расширения
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
WT JoomShopping Finder v.1.1.1 - умный поиск товаров в Joomla.
Плагин индексирует товары JoomShopping в стандартном умном поиске Joomla: названия, описания, характеристики, атрибуты, производителя, артикулы, EAN и мультиязычные данные товаров.

v.1.1.1. Что нового?
Исправление ошибок.
Исправлена SQL-ошибка при оптимизации индекса умного поиска. Очистка удаляет только ссылки на удалённые товары JoomShopping и сохраняет существующие товары на всех индексируемых языках.

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

@webtolkru

#joomla #joomshopping
👍2🔥1
Forwarded from Joomla Feed (Joomla Bot)
🚀 Вышли релизы безопасности Joomla 6.1.4 и 5.4.9!

Состоялся релиз Joomla 6.1.4 и Joomla 5.4.9. Это важные обновления безопасности и стабильности для веток Joomla 5.x и 6.x, устраняющие сразу 16 уязвимостей в ядре и содержащие 35 исправлений ошибок.

🚨 Что закрыли разработчики?

✅ XSS и обход InputFilter: устранены два вектора обхода фильтра в InputFilter (через декодирование HTML5-сущностей и пробельные символы в data URI), а также XSS-уязвимости в методе HTMLHelper::link, HTML-шаблонах писем, макетах вывода медиафайлов, панели инструментов и списке модулей.

✅ Аутентификация и учётные записи: закрыт обход многофакторной аутентификации (MFA) через cookie-файлы rememberme и устранена возможность несанкционированного создания аккаунта через контроллер profile.save.

✅ Некорректный контроль доступа (ACL): исправлены проверки прав доступа в эндпоинтах веб-сервисов (API) для уровней доступа и задач редактирования, при смене этапов в com_workflow, сравнении версий истории материалов и выводе элементов по тегам.

✅ Файловая система и сеть: устранена уязвимость произвольного удаления каталогов при очистке кэша и закрыты векторы SSRF-атак в базовых расширениях ядра.

🛠 Исправления ошибок и улучшения:
Помимо безопасности, в релизы вошло 35 исправлений. Среди ключевых:
✅ Медиаменеджер и шаблоны: сохранение исходных не-ASCII имён файлов при редактировании изображений в com_media, предотвращение ошибок 404 при удалении медиафайлов, исправление распаковки архивов и подсчёта переопределений в менеджере шаблонов.
✅ Контент, теги и мультиязычность: устранено дублирование записей в #__ucm_content при сохранении статей с тегами, исправлена потеря связей категорий при снятии перевода с публикации и показ кнопки «Подробнее» в mod_articles.
✅ Доступность (a11y) и интерфейс: улучшена навигация с клавиатуры в календаре, исправлен перевод кнопок конструктора TinyMCE, улучшена работа индексатора умного поиска с PostgreSQL и добавлен флаг безопасности для обновлений в ветку 5.4.

⚠️ Что делать администраторам сайтов?
Если ваши сайты работают на ветках Joomla 5.x или 6.x, настоятельно рекомендуется обновиться. Все исправления из ветки 5.4 автоматически перенесены в 6.1.

Вышли релизы безопасности Joomla 6.1.4 и Joomla 5.4.9 - Joomlaportal

#joomla #cms #безопасность
👍3⚡1
👩‍💻 WT PDF.js v.6.4.299 - плагин веб-ассета для Joomla.
Плагин подключает в Joomla js-библиотеку, которая преобразовывает документы в формате PDF в код HTML5 Canvas, пригодный для просмотра в веб-браузере.

v.6.4.299. Что нового?
- PDF.js 6.4.299. Обновлены локальные библиотеки PDF.js, worker и ресурсы для новых и для старых браузеров до версии 6.4.299.
- Два веб-просмотрщика. В поставку включены полные веб-просмотрщики для новых и для старых браузеров. Поддерживаются открытие ссылкой и встраивание в iframe.
- Пользовательские JSON-конфиги. Добавлены общий default.json, выбор именованного профиля через config и config=none. Конфиги хранятся отдельно и сохраняются при обновлении; инструкции размещены в параметрах плагина и документации.

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

@webtolkru

#joomla #расширения
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Media is too big
VIEW IN TELEGRAM
Как быстро попасть в ИИ-ответы Алисы от Яндекса? Случайная демонстрация работы связки расширений WT LLMs и WT IndexNow для Joomla.

В комплекте компонента WT LLMs есть плагин md-версии сайта. Его любят ИИ-агенты.
А WT IndexNow уведомляет поисковики о новом или изменённом контенте на Joomla-сайте по протоколу IndexNow.

- WT IndexNow
- WT LLMs

@webtolkru

#joomla #яндекс #seo #ai
❤1👍1🔥1
Forwarded from Joomla Feed (Sergey Tolkachyov)
👩‍💻 ContentSync - плагин зеркалирования контента между Joomla сайтами.

Плагин планировщика задач Joomla, который позволяет по расписанию копировать контент одного доверенного Joomla-сайта на другой. Поддерживается работа с категориями, медиа-контентом (изображениями, видео, аудио и т.д.), материалами, авторами и уровнями доступа, пользовательскими полями.

Синхронизация происходит в одном направлении: с исходного сайта на сайт с установленным плагином. Статья, которая не изменилась на исходном сайте с момента последнего запуска, пропускается.

- Страница расширения
- Joomla Extensions Directory
- Видео на YouTube

@joomlafeed

#joomla #расширения
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Forwarded from Joomla Feed (Sergey Tolkachyov)
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 WT View PDF v.1.1.0 - плагин просмотра PDF для Joomla.
Плагин Joomla для просмотра PDF в материале, модальном окне Bootstrap или UIkit и полном просмотрщике PDF.js с прелоадером.

v.1.1.0. Что нового?
- Просмотр PDF с прелоадером. Добавлены макеты bootstrap-pdfjs-preload и uikit-pdfjs-preload: полный локальный просмотрщик PDF.js, прогресс загрузки, настройка высоты и фона, ссылка на скачивание.
- Выбор сборки PDF.js и проверка зависимости. Добавлены переключатель modern/legacy, проверка установки и состояния WT PDF.js, справка и проверка пользовательских JSON-конфигов.
- Для работы макетов с PDF.js нужен плагин веб-ассета WT PDF.js.

- Страница расширения
- Плагин веб-ассета PDF.js

@joomlafeed

#joomla #расширения
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from Joomla Feed (Dmitrijs Rekuns)
🛠 Вышел релиз Joomla 5.4.10 — финальное исправление ошибок серии 5.x

Проект Joomla! выпустил Joomla 5.4.10. Это последний релиз исправления ошибок для ветки Joomla 5.x.

⚠️ Что это значит для администраторов сайтов на Joomla 5?

Выпуск версии 5.4.10 завершает этап активной поддержки ветки 5.x. Начиная с этого момента и на протяжении следующего года для ветки 5.4 будут выходить только обновления безопасности.

Для получения новых функций и развития проектов разработчики рекомендуют планировать обновление до Joomla 6.2.

🛠 Что исправлено в Joomla 5.4.10:

✅ Веб-сервисы и API: устранены фатальные ошибки в PATCH-запросах веб-сервисов и скорректировано смещение дат по часовому поясу.

✅ Баннеры и права доступа: обеспечен корректный учет прав доступа (ACL) и статуса публикации категорий при выводе баннеров.

✅ Интерфейс и локализация: добавлена всплывающая подсказка (title) для кнопки сворачивания боковой панели, исправлено отображение символов < и > в валидации логина и обработка ошибок синтаксиса языковых файлов при отладке.

https://joomlaportal.ru/news/release-news/vyshel-reliz-joomla-5-4-10

#joomla #joomla5 #cms #релиз
👍2
Forwarded from Joomla Feed (Dmitrijs Rekuns)
🚀 Состоялся релиз Joomla 6.2 (Mwezi)!

Проект Joomla! объявил о выходе стабильной версии Joomla 6.2.

✨ Что нового в Joomla 6.2?

✅ Обновления редактора TinyMCE: прямой вызов медиаменеджера при вставке медиафайлов, единое модальное окно выбора ссылок (для плагинов editors-xtd), быстрая вставка разделителя «Подробнее» и применение системных фильтров текста Joomla по умолчанию.

✅ Контент и категории: раздельные поля CSS-классов для самих изображений и оберток <figure> (для вводного и полного изображения материала), поддержка картинок подкатегорий в списках и блогах, корректное отображение категорий с запланированными к публикации статьями.

✅ Модули и навигация: возможность скрыть ссылки восстановления пароля и логина в модуле авторизации без переопределения шаблона, а также исправление работы многоуровневых выпадающих меню.

✅ Панель управления: группировка результатов быстрого поиска в списках Fancy Select (особенно удобно при назначении позиций модулей) и обновленная страница справки в едином стиле с темой Atum.

✅ Безопасность и установка: флаг обновлений безопасности для сторонних расширений (с подсветкой в панели управления), более детальная диагностика ошибок веб-установщика

✅ Электронная почта
Универсальная аутентификация XOAuth2 для отправки почты через SMTP (особенно актуально для Google Workspace и Microsoft 365).

⚠️ Как перейти на Joomla 6.2?

Переход с ветки Joomla 5.4 на Joomla 6.2 является обычным обновлением, а не сложной миграцией. Большинство расширений работает без проблем благодаря плагину Behaviour - Backward Compatibility 6.

https://joomlaportal.ru/news/release-news/vyshel-reliz-joomla-6-2

#joomla #joomla6 #cms #релиз
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 WT CDEK library v.1.4.0 - библиотека интеграции Joomla со CDEK для разработчиков.

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

v.1.4.0. Что нового?
- Поле Joomla Form Deliverypoints. Добавлено поле Joomla Form Deliverypoints для выбора ПВЗ и постаматов с select.fancy-select.
- Механизм watchfield. Переработан механизм watchfield для наблюдения за родительскими полями и обновления зависимых полей. Для поля вы можете указать изменения каких полей ему наблюдать.
- Документация. Обновлена документация по полям Joomla Form и механизму watchfield на GitHub.
- Данные AJAX-запросов. Исправлена ошибка передачи лишних данных из AJAX-запросов в API СДЭК.

На видео демо работы поля динамической подгрузки ПВЗ в поле выпадающего списка.

- Страница расширения
- GitHub
- Документация

@webtolkru

#joomla #cdek #api #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
Forwarded from Joomla Feed (Sergey Tolkachyov)
👩‍💻 Вышла Joomla 6.2. Что нового?
13 октября 2026 года вышла Joomla 6.2. Традиционно мы обозреваем часть самых заметных нововведений релиза. В нём доработали редактор материалов, добавили авторизацию почты через OAuth 2.0, поле Joomla Form enum и обозначение обновлений безопасности расширений, language fallback и другие изменения.

Читать обзор на Хабре.

@joomlafeed

#joomla
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1