WebTolkRu
100 subscribers
621 photos
73 videos
2 files
647 links
Joomla-разработчик. Контрибьютер ядра Joomla. https://web-tolk.ru. Разработка Joomla на заказ. Также пишу в @JoomlaFeed.
@sergeytolkachyov Хабр: https://habr.com/ru/users/sergeytolkachyov/posts/
Download Telegram
WT Custom menu item banner v.1.2.1
Пользовательские баннеры для пунктов меню Joomla. Адаптивные изображения и адаптивные имиджевые видео. Для вывода используйте пример кода.
Список изменений
- Исправление ошибок. Исправление ошибки в панели администратора.
Подробнее
👍2
Плагин мультикатегорий теперь доступен в Joomla Extensions Directory. А рядом расположились коллеги из NorrNext - тоже русская команда разработчиков.

https://extensions.joomla.org/extension/structure-a-navigation/multi-categorization/wt-multicategories/
👍3
Официальный сайт Федеральной службы по техническому и экспортному контролю Российской Федерации сделан на Joomla 5

Сегодня в Joomla-чате косвенно была затронута тема лицензирования программного обеспечения, которой в России занимается ФСТЭК - Федеральная служба по техническому и экспортному контролю. Я слышал эту аббревиатуру несколько раз и решил из любопытства заглянуть на сайт. В Яндексе мой глаз зацепил характерный тайтл страницы )) Глянув в исходный код страницы сайта я изумился и обрадовался: там Joomla! Да ещё и не старая, а на момент написания этого поста наисвежайшая - Joomla 5.2.3.

Сама ФСТЭК в плане лицензирования занимается сертификацией средств технической защиты конфиденциальной информации, а также средств для оказания услуг по такой защите. Лицензия ФСТЭК даёт программному обеспечению право работать с информацией в тех случаях, когда требуется повышенный уровень безопасности.

Доверие со стороны такой федеральной организации - это хороший аргумент в пользу использования Joomla на своих сайтах. Главное, чтобы это были последние, актуальные версии, а не вышедшие 10-15 лет назад.

Сайт ФСТЭК ищется легко, исходный код страницы открыть в браузере - ctrl+U.
🔥1
Forwarded from Joomla Feed (Sergey Tolkachyov)
Модуль материалов пользователя для Joomla

Автоматически фильтрует материалы по автору. Ограничение – работает только на странице контакта, к которому привязан данный пользователь.

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

Еще одно преимущество: если у вас много страниц контактов и везде надо выводить материалы пользователя, то с данным решением не нужно плодить модули. Достаточно создать один и разместить на странице Контактов, фильтрация по автору будет автоматической.

Модуль бесплатный. Разработчик - участник нашего сообщества @mitriy_bug.

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

#расширения
👍4
WT JSwiper - SWiper.js для Joomla-разработчиков v.11.2.4
Этот плагин для разработчиков Joomla. Плагин регистрирует Swiper.js пакет в Joomla Web Assets Manager. Затем вы можете использовать его в своих расширениях c помощью $wa->useScript('swiper-bundle')->useStyle('swiper-bundle').
Список изменений
- Bug Fixes. restore compatibility with ES2019 #7891 (#7892) (b4fbbb3)
Подробнее
👍2
Forwarded from Joomla Feed (Sergey Tolkachyov)
Вышли релизы безопасности Joomla 5.2.4 и Joomla 4.4.11

Проект Joomla рад сообщить о выпуске Joomla 5.2.4 и Joomla 4.4.11. Это релиз безопасности и исправлений ошибок для серии Joomla 5.2 и релиз безопасности для серии Joomla 4.4.

⚠️ Исправления безопасности
[20250201] - Ядро - SQL инъекция в списке задач планировщика com_scheduler (Joomla 4.1.0-4.4.10, 5.0.0-5.2.3). Это возможно только в тех случаях, если кто-то залогинился в админку кроме вас и использует эту уязвимость.
Настоятельно рекомендуем поддерживать версии Joomla на ваших сайтах актуальными.

👩‍💻 Исправления и улучшения
- увеличено покрытие тестами для улучшения качества кода Joomla
- улучшение совместимости с PHP 8.4
- исправлено создание карты пространства имен в PHP 8.4
- исправлена ​​проблема с подсчетом кэша — правильный подсчет количества файлов
- роутер тегов: разрешить числовые/CSV-идентификаторы (регрессия)
- Исправление для обновления Composer до enshrined/svg-sanitize для устранения проблем с загрузкой SVG
- исправление загрузок мультимедиа с пробелами в имени
- исправлен цвет хлебных крошек в светлом и темном режимах
- исправлена ​​ошибка сброса пароля в админке
- исправлена ​​ошибка, из-за которой статья не могла быть успешно сохранена на фронтенде
- удалять alt-text для пунктов меню, если заданы и изображение, и заголовок (исправление a11y)
- исправлена ​​проблема плагина для слабовидящих в аккордеоне (атрибут role)

Подробнее на сайте Joomla-сообщества Joomlaportal.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Forwarded from Vladimir Progreccor
Для тех, кто хочет узнать простой способ добавить видео VK Video на сайт, без подгрузки его скриптов – читайте статью!

Радикальное решение без каких-либо модулей, плагинов или расширений. Работает на Joomla, Wordpress и даже Тильда! Читаем и пользуемся этим решением бесплатно.

https://progreccor.ru/blog/kak-vstavit-vk-video-na-sajt-chtoby-skorost-zagruzki-ne-padala
👍4🔥1
Joomla-разработчикам: обращение к методам модели в HtmlView напрямую

Когда-то, давным-давно в одной далёкой галактике кто-то решил, что что было бы неплохой идеей ввести косвенный доступ к методам модели (MVC) для получения данных, добавив метод AbstractView::get(). Этот метод извлекает модель и затем запускает get<Parameter>(). Простыми словами, когда мы во View (файл HtmlView нашего компонента) видим конструкцию $this->item = $this->get('Item') это означает обращение к методу getItem() модели для текущего View.

Но такой подход исключает любую возможность подсказки типов, аргументов и т. д. и делает все излишне сложным. Поэтому разработчики ядра Joomla объявили этот метод устаревшим с этим PR 44162.
Новый способ выглядит так:
// Файл HtmlView компонента

public function display($tpl = null)
{
$model = $this->getModel();
$this->items = $model->getItems();

parent::display($tpl);
}

Старый подход (то есть метод get() во View) будет удалён в Joomla 7. Памятуя о релизном цикле Joomla, это означает, что:
1️⃣ осенью 2025г выйдет Joomla 6.
2️⃣ 2 года она будет основной веткой. Joomla 5 будет в режиме поддержки
3️⃣ через 2 года, в 2027 выйдет Joomla 7, в которой будет удалён этот метод.
4️⃣ но Joomla 6 будет ещё 2 года в режиме тех.поддержки и в ней (до 2029 года) этот метод останется.

Таким образом у разработчиков есть от 2,5 до 4,5 лет (на момент написания этого поста) на то, чтобы сделать этот рефакторинг.

👩‍💻👩‍💻 [5.3] Deprecate AbstractView::get() #44162

@webtolkru

#joomla #разработка #php #webdev
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from Joomla Feed (Sergey Tolkachyov)
Судьба плагина обратной совместимости в Joomla

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

Устаревший код МОЖЕТ быть перемещен в плагин совместимости. Плагин обеспечивает более плавное обновление между основными версиями. Он содержит код из предыдущей версии, который может сломать сайт после обновления, поскольку расширение использует устаревший код. Расширение полностью совместимо только тогда, когда оно работает без проблем с отключенным плагином совместимости.


От версии к версии часть кода ядра Joomla помечается как устаревшая, а затем, спустя некоторое время удаляется из основного ядра и МОЖЕТ быть перемещена в плагин обратной совместимости. Эта концепция появилась при переходе от Joomla 4 к Joomla 5.

Важным уточнением является то, что для новой мажорной версии (joomla 3, joomla 4, joomla 5 и т.д.) плагин содержит устаревший код предыдущей версии. То есть для Joomla 5 это код из Joomla 4. Для Joomla 6 - код из Joomla 5.

Таким образом расширения, использующие методы и функции ядра Joomla и всё ещё работающие даже с плагином обратной совместимости на Joomla 5 в Joomla 6 скорее всего работать уже не будут. В Joomla 6 из плагина обратной совместимости будет удален код, поддерживающий обратную совместимость с Joomla 4. Таким образом стабильно работать в Joomla 6 будет то, что сейчас стабильно работает на Joomla 5 с отключённым плагином обратной совместимости.
👍4
Joomla 5 email templates - how to add variables via plugin - Joomla Community Magazine

Вышла моя статья в JCM - официальном журнале международного Joomla сообщества. Это доведённая до ума версия поста на Хабре, переведённая на английский.

https://magazine.joomla.org/all-issues/february-2025/joomla-5-email-templates-how-to-add-variables-via-plugin
👍5🔥2
Forwarded from Joomla Feed (Sergey Tolkachyov)
Вышел номер Joomla Community Magazine за февраль 2025
Февральский выпуск официального журнала сообщества Joomla. Краткое содержание статей и интервью этого номера.
👩‍💻 Знакомство с джумлером: Robin Clapp. Робин Клэпп активно участвует в жизни сообществ Joomla в соц.сетях.
👩‍💻 Устойчивая веб-разработка с помощью Joomla! - Часть 2. Продолжение серии статей о том как хорошие качественные сайты положительно влияют на экологию.
👩‍💻 Потеряли проделанную работу? TinyMCE может спасти положение. Как восстановить не сохранённый материал?
👩‍💻 Сделайте больше с помощью дашбордов Joomla. Вообще статья не только о дашбордах, но и о том, как кастомизировать админку Joomla 5+.
👩‍💻 Глубинное пробуждение. Статья-восторг представителя заказчика, рассказывающая о том, как построили сайт на Joomla для лесовладельцев в окрестностях Нью-Йорка.
👩‍💻 Академия Joomla готова к запуску - присоединяйтесь к нам! Люди, которые разбираются в коде Joomla и хотят поделиться своими знаниями и помочь сформировать будущее Joomla, - эта статья для вас. Узнайте все о том, как оживает Академия Joomla!
👩‍💻 Руководство о том как сделать руководство. В этом руководстве вы узнаете, как создать обучающий материал - урок, в ходе которого вы выполняете ряд практических шагов.
👩‍💻 E-mail шаблоны Joomla 5: добавление и просмотр своих переменных. Это дополненная и переведённая на английский язык для JCM заметка @sergeytolkachyov, ранее опубликованная на Хабре и сайте автора.
👩‍💻 Спасибо, Luca Marzo! В течение многих лет Лука Марцо человеком-энциклопедией Joomla. Он 8 раз занимал должность секретаря департамента Joomla по вопросам Open Source. Статья-благодарность.
👩‍💻 Geraint Edwards - создатель JEvents, YourSites и EasyLayouts. Интервью с разработчиком.
👩‍💻 Интервью с многостаночником Tuan Pham Ngoc! Tuan Pham Ngoc - разработчик, волонтёр и контрибьютер ядра Joomla. Автор расширений Documents Seller, Joom Donation, Payment Form, Events Booking, Membership Pro и др.
👩‍💻 Должны ли мы всё ещё использовать jQuery? Раньше с jQuery было хорошо, но нужен ли он в наши дни?
👩‍💻 Удивительные женщины в Joomla: Alison Meeks. Элисон Микс уже более десяти лет является голосом социальных сетей Joomla. Интервью.
👩‍💻 Code Along JUG: что это такое и для кого? В Joomla существуют так называемые Joomla User Group - объединения пользователей и разработчиков Joomla, где люди собираются вместе онлайн или оффлайн и помогают друг другу, делятся опытом, бесплатно помогают в решении каких-то задач. Создана новая группа пользователей - Code Along. Статья рассказывает о целях этой группы и о том, кто и как может к ней присоединиться.

Подробнее на Joomlaportal.ru

Также мы пропустили январский выпуск, поэтому вот он: Выпуск JCM за январь 2025.

@joomlafeed

#joomla #community #jcm
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
WT PDF.js v.4.10.38
Библиотека JavaScript, которая преобразовывает документы в формате PDF в код HTML5 Canvas, пригодный для просмотра в веб-браузере.
Список изменений
- Version update. Update to PDF.js v.4.10.38
Подробнее
👍1
Media is too big
VIEW IN TELEGRAM
Небольшое демо модуля WT Quick links

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

На видео в макете написана простая сетка в стиле masonry - кирпичной кладки - на CSS Grid. В зависимости от типа ссылки (ссылка или PDF) показывается собственно ссылка или <button>. И уже по клику на button делаем просмотр PDF в модальном окне. На телефонах простой <iframe> или <object> не годится. Безопасности ради (или ради чего-то ещё) телефоны требуют скачать PDF сначала, а потом уже его где-то как-то просматривать. Поэтому клиенты попросили сделать просмотр файлов прямо в браузере.

https://web-tolk.ru/dev/joomla-modules/wt-quick-links

@webtolkru

#joomla #php #webdev #разработка
👍3🔥2
Forwarded from Joomla Feed (Sergey Tolkachyov)
Вышла версия JoomGallery JUI 3.7.0

Известный компонент галереи изображений поддерживается небольшой командой энтузиастов, которые подхватили разработку после отказа от него основной команды разработчиков. С тех пор вышло несколько версий.
Довольно давно была начата работа над переносом компонента на структуру Joomla 4+.
Версия 3.7.0 является промежуточной, которая подготавливает вашу JoomGallery к переходу на JoomGallery 4+ для Joomla 4.x и 5.x.

GitHub расширения

#расширения
👍4
Документация Swiper.js на русском языке.

Потихоньку перевожу. Как в анекдоте: "Сначала прикололся, потом загнался". В процессе.

https://web-tolk.ru/dev/joomla-plugins/wt-jswiper/documentation/swiper-parameters
👍6
👩‍💻 Пользовательские поля Joomla: более читаемый код

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

Предлагаемый ниже фрагмент кода для материалов позволяет "пересобрать" массив с пользовательскими полями так, чтобы в коде они были доступны не по id, а по алиасу (системному имени) поля. Таким образом
echo $this->item->customFields['price']->value; 

является более интуитивно понятным, чем
echo $this->item->jcfields[15]->value;

Простой сниппет кода, который использую на своих проектах.

<?php
/**
* Переписываем поля, чтоб можно было получить доступ по имени поля
*/

// подключаем допполя для материала, пропускаем в объекте материала - они там уже есть
$this->item->customFields = [];
foreach ($this->item->jcfields as $f)
{
$this->item->customFields[$f->name] = $f;
}

Или же если поля ещё не были получены, можно упростить ещё больше:
use Joomla\Component\Fields\Administrator\Helper\FieldsHelper;

$fields = [];
foreach (FieldsHelper::getFields('com_content.article', ['id' => $article_id], true) as $f)
{
$fields[$f->name] = $f;
}


@webtolkru

#joomla #разработка #php #webdev
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
Всех причастных с праздником!
👨‍💻2👍1
Forwarded from Joomla Feed (Sergey Tolkachyov)
WT YOOtheme Yandex Map плагин для Joomla v.1.1.0

Плагин добавляет элемент Яндекс карт для конструктора страниц в YOOtheme в Joomla. Гибкие настройки отображения маркеров и содержимого, кластеризация меток.

👩‍💻 v.1.1.0. Что нового?
- Исправлена ошибка, при которой скрипты API Яндекс карт и элемента грузились на страницах, где модуль не использовался.
- При открытии всплывающего окна, другие всплывающие окна скрываются.
- При клике вне области всплывающего окна оно закрывается.
- Теперь всплывающие окна отображаются поверх маркеров
- Добавлена возможность выбора версии API Яндекс карт - платная/бесплатная. Для платной и бесплатной версии используются разные точки входа API
- Теперь параметр настроек "Включить масштабирование карты" разделен на два параметра: параметр "Масштабирование карты" и параметр "Отображение элементов управления масштабированием"
- Добавлен параметр "Минимальная ширина всплывающего окна"
- Значения параметров "Минимальная ширина всплывающего окна" и "Максимальная ширина всплывающего окна" теперь можно задать не только в пикселях. Например: 100px, 100vw, 100vh, 100em, 100% и т.д

и другое.

Релиз выпущен благодаря усилиям участника нашего сообщества Андрея Смирникова (@tg_andrey).

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

#joomla #расширения #яндекс #yootheme
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
WT Category - плагин пользовательского поля Joomla для выбора категорий v.1.0.1
Плагин пользовательского поля выбора категории, который можно использовать в материалах, контактах, баннерах и других компонентах, которые используют стандартные для Joomla категории.
Список изменений
- Joomla 4. Исправлена работа плагина с Joomla 4.
Подробнее
🔥3
WT SM Otpravka.pochta.ru v.2.0.1
Расширение для расчета стоимости доставки и интеграции интернет-магазина Joomla JoomShopping с личным кабинетом сервиса Отправка Почты России для бизнеса. Расчет стоимости происходит по тарифам согласно Вашему договору с Почтой России. Автоматическое создание заказов в Личном кабинете Почты России после успешной оплаты или при смене статуса заказа (как вручную, так и программно).
Список изменений
- Исправление ошибок. Исправлена ошибка, иногда возникавшая на этапе расчета стоимости доставки.
- Рефакторинг кода. Аддон расчета стоимости доставки теперь не использует методы, помеченные в JoomShopping как устаревшие.
- Добавлена информация в отладку. Добавлена новая информация в режим отладки....
Подробнее
👍1