WebTolkRu
99 subscribers
621 photos
72 videos
2 files
646 links
Joomla-разработчик. Контрибьютер ядра Joomla. https://web-tolk.ru. Разработка Joomla на заказ. Также пишу в @JoomlaFeed.
@sergeytolkachyov Хабр: https://habr.com/ru/users/sergeytolkachyov/posts/
Download Telegram
Минутка отзывов. Некоторые из них Яндекс показывает прямо в поисковой выдаче.

#отзывы #joomla
👍2
Forwarded from Joomla Feed (Sergey Tolkachyov)
Вышел JoomShoppping 5.6.0
Один из популярных компонентов интернет-магазина на Joomla.

👩‍💻 v.5.6.0. Что нового?
- Добавлена ​​сортировка товаров для конкретной категории
- Параметры count_products_to_page / count_products_to_row - по умолчанию теперь пустые (используется из конфигурации)
- Добавлена сортировка для налогов
- Добавлена форма поиска в списке стран
- Добавлен фильтр только не завершенных заказов для списка заказов (не закончен: скрывать / показывать / все)
- Добавлены состояния опубликовано / не опубликовано для аддонов (опции - дополнения)
- Добавлены зависимости (dependencies) для аддонов
- ⚠️ Библиотека Tcpdf удалена из ядра Joomshopping. Генерация PDF счетов отключена по умолчанию. Библиотека теперь устанавливается как дополнение Lib TcPdf.
- ➕ Новая опция. Техническое обслуживание для дополнений (отладка, журнал, переопределения папок)
- ➕ Новая опция: Настройки - Другие - Использовать WebAssetManager.
- ➕ Новая опция: Настройки - Другие - Администратор продукты Поиск по словам. Поиск в админке будет искать по описаниям товаров.
- Обновлены иконки в админке
- ➕ Новая опция конфигурации check_valid_productpage_attribute
- ➕Новая опция конфигурации attribut_dep_sorting_in_product_dir
- ➕Новая опция конфигурации attribut_nodep_sorting_in_product_dir
- ➕Новый метод prepareSaveParams для ShippingFormRoot (разработчикам способов доставки)
- Добавлены новые триггеры для плагинов
- Обновление HttpClientLite
- Исправления роутера
- Исправлен выбор оформления заказа

Нужно помнить, что не все опции конфигурации JoomShopping доступны для настройки из панели администратора. Некоторые параметры можно изменить только в файлe components/com_jshopping/config/user_config.php (переопределение default_config.php). Так же параметры конфигурации могут быть изменены плагинами на события onBeforeLoadJshopConfig и onLoadJshopConfig.

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

#JoomShopping
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
WT JSwiper - SWiper.js для Joomla-разработчиков v.11.2.6
Этот плагин для разработчиков Joomla. Плагин регистрирует Swiper.js пакет в Joomla Web Assets Manager. Затем вы можете использовать его в своих расширениях c помощью $wa->useScript('swiper-bundle')->useStyle('swiper-bundle').
Список изменений
- Bug Fixes. cards/loop: improve loop behavior with cards effect (9a258d4), closes #7917
core: fix initialSlide in loop mode when it there are not enough slides to fill (16818e2), closes #7780
core: fix touchReleaseOnEdges in RTL (d841428), closes #7179
Подробнее
👍1
Forwarded from Sergey Tolkachyov
Вышел релиз компонента галереи изображений JoomGallery 4.0

Этот компонент имеет давнюю историю. Код JoomGallery 3 возник из кода компонента PonyGallery в 2007 году и затем развивался естественным образом на протяжении многих лет. Как пишет нынешняя команда разработчиков - это было все, что угодно, но только не чистая и последовательная кодовая база. Поэтому в 2021 году было принято решение о полном перезапуске расширения. Эта переработка позволила создать современные, гибкие и перспективные структуры, которые идеально интегрируются в Joomla! 4 и более новые версии.

Что это означает?
- Полная поддержка архитектуры кода Joomla! 4+
- Более высокая производительность и улучшенная масштабируемость
- Расширяемость за счет современных стандартов кодирования
- Знакомый внешний вид старой JoomGallery

Основные особенности новой версии
- Оптимизировано для больших коллекций изображений (более 10 000 изображений)
- Интуитивно понятное управление в стиле материалов Joomla!
- Массовая загрузка для эффективных рабочих процессов
- Логическая структура хранения в файловой системе для удобства управления
- Гибкие типы изображений (оригинал, миниатюра, детальное + пользовательские типы)
- Обработка изображений с помощью IM и GD (jpg, png, gif, webp)
- Поддержка метаданных изображений (EXIF, IPTC, PNG-Chunks)
- Управление конфигурацией на основе базы данных с импортом/экспортом
- Оптимизация фронтенда для минимальной нагрузки на сервер (изображения загружаются через Ajax)
- Легко настраивается с помощью методов Joomla! (переопределения, плагины, модули)
- 🔥Встроенный мигратор для переноса данных со старых версий компонента. Обратите внимание, что обновление + миграция должны пройти через промежуточную версию JoomGallery 3.7.0.
- обновлённый загрузчик изображений позволяет приостанавливать и возобновлять загрузки, что полезно при слабом интернет-соединении.
- поддержка плагинов файловой системы Joomla, что позволяет использовать не только локальные источники данных.
- возможность сохранять несколько конфигураций компонента с разделением по группам доступа
- Категории, теги и коллекции. Коллекции JoomGallery — это наборы изображений, созданные отдельными пользователями, которыми они могут делиться и публиковать.
- 2 стандартных макета галереи изображений: lightGallery и Masonry. Поддерживается стандартная для Joomla возможность переопределения макетов компонента.
- 🔥 Добавлены пользовательские поля для изображения и категории изображений

На данный момент доступно 7 языков локализации. На русский язык новый компонент пока не переведён.

Скачать компонент
Присоединиться к разработке на GitHub

#расширения
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1🔥1
Мой плагин, опубликованный в JED попал в новости итальянского Joomla-канала

https://t.me/joomlanewsit/2488
👍6
Методы и свойства Swiper.js - документация на русском языке.

Потихоньку переводим документацию js-карусели Swiper.js на русский язык. Добрался до методов и свойств. Пока готовы свойства.

Читать
👍4
Сегодня писал модуль форму для своего сайта. Смысл такой. Пользователь заполняет формочку + добавляет точки на карту. По итогу создаётся материал со всеми нужными данными. Так же по ходу заполнения формы добавляются теги. Для тру программистов плёвое дело. Ну а я пчеловод и через костыли, г... советы от ИИ и чтение интернетов своял себе такой модуль. К чему я пишу этот пост? А к тому, что наши любимые ИИ заводили меня в тупик. Код от ИИ работал, но не до конца. Материал в таблице content создавались, а в таблицы ucm не попадал. Бился, ругался, думал начать пить свои антидепрессанты (медовуху). И тут попалась мне статья на Хабре от Сергея Толкачёва (статья). После её прочтения, пелена с моих глаз спала и мой скилл программирования возрос на +1. Буквально через час всё было доделано. Советую всем к прочтению. И от себя хочу выразить благодарность Сергею за статью. Всё расписано чётко и доходчиво!!! 👍👍👍
🔥5
Forwarded from Joomla Feed (Sergey Tolkachyov)
JComments v.4.0.34 - компонент комментариев для Joomla 5

Вышла новая версия популярного компонента комментариев JComments. Компонент развивается сообществом на GitHub. Все релизы отмечены как maintaince release. Это означает поддержку расширения в работоспособном состоянии без добавления нового функционала. Тем не менее, новый функционал периодически добавляется.

👩‍💻 Что нового?
- добавлен плагин умного поиска
- добавлена капча Cloudflare Turnstile
- добавлена поддержка Membership Pro для плагина аватара
- исправлены некоторые ошибки.

Системные требования
Joomla 4.2+, Joomla 5+.

Скачать релиз с GitHub
Доступные модули
Доступные плагины
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Joomla Feed (Sergey Tolkachyov)
SW JProjects v.2.4.0 - обновление менеджера цифровых проектов для Joomla разработчиков

Компонент позволяет разработчикам сайтов на Joomla вести свой собственный сервер обновлений для своих расширений Joomla (шаблонов, модулей, плагинов и т.д.), что позволяет доносить обновления сразу всем своим клиентам. Возможность скачивания по лицензионным ключам.

👩‍💻 v.2.4.0. Что нового?
Плагин логирования действий пользователя. Добавлен плагин группы Лог действий, записывающий все основные действия пользователя в компоненте SW JProjects в лог действий пользователя.
Мультиязычность. Улучшена работа компонента (панель администратора) на мультиязычных сайтах.
Исправление ошибок и рефакторинг. Проведен текущий рефакторинг и исправление некоторых ошибок.

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

@joomlafeed

#расширения #joomla #php #разработка #development
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Совет по Joomla: рендер пользовательского поля внутри другого пользовательского поля

Иногда дизайнеры рисуют непростые макеты. Внешне в них выглядит всё просто и красиво. Но ты смотришь на них и думаешь: "А с помощью чего я буду реализовывать это?" Эта каруселька - плагином WT Content image gallery. Эта карусель фото и видео в виде формата сторис - тоже им же. Вставляем просто шорткодами в материал.
Но между ними оказывается большой объём текста с описанием проекта, внутри которого ещё и блок с повторяемыми элементами - ассортимент проекта. Скрыт этот большой текст под спойлер с большой же синей кнопкой. Всё должно раскрываться / открываться, А заполнять всё это нужно далеко не программистам...

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

Для содержимого спойлера мы создаем пользовательское поле типа редактор. В тело материала вставляем шорт код (с помощью кнопки редактора "поля") виде {field 25}. Создаём собственный макет вывода для поля (писал выше об этом). В нём оборачиваем содержимое в собственно спойлер. В моём случае это Bootstrap collapse. Теперь любой текст, который мы наберём в поле редактора будет скрыт по умолчанию и будет раскрываться по нажатию на большую синюю кнопу. Содержимое поля пропускаем через HTMLHelper::_('content.prepare', $field->value);, чтобы работали шорт-коды, если вдруг потребуются. Стало так:
use Joomla\CMS\HTML\HTMLHelper;
// типичный код макета поля пропускаем
// тут куча вёрстки
// и самое важное - вывод содержимого поля.
// $value - это текст из поля редактора
echo HTMLHelper::_('content.prepare', $value);

Теперь принимаемся за адаптивную сетку с повторяемыми элементами - ассортимент проекта. Создаём 2 поля: типа текст - для заголовка элемента, и textarea - для описания. Обоим полям ставим галочку "только в дочерней форме". Создаём 3-е поле - дочернюю форму, в настройках которой выбираем созданные заголовок и описание. Форма повторяемая, отключаем автоматическое отображение. Создаём свой макет вывода для поля и выбираем его в настройках.

Казалось бы - всё. Но нам нужно этот макет выводить ВНУТРИ предыдущего поля. Простая вставка шорт-кода типа {field 29} в содержимое поля не заработала. Поэтому я решил напрямую вызвать метод onContentPrepare плагина Поля группы контент, убрав при этом обработку HTMLHelper. Чтобы плагин заработал - нужно передать ему объект со свойством text, в котором находится содержимое поля для обработки и свойство id, означающее id материала. Не забыть указать нужный контекст для поля.
// мы находимся в файле макета поля
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');
// вызываем метод обработки напрямую
$joomlaFieldContentPlugn->onContentPrepare('com_content.article', $fakeItem, $app->getParams());
// выводим оба поля
echo $fakeItem->text;

Теперь всё работает.
Минусы такого подхода - хардкод. В случае, когда шорт-код поля виден в админке - проще понять что там нагорожено. Но в данном случае сайт веду я и никто кроме меня.
Почему не заработал content.prepare HTMLHelper?
Под капотом метод HTMLHelper::_('content.prepare', $text) делает в то же самое, что и сделал я: создаёт объект, эмулирующий объект материала, а потом возвращает обработанное свойство. За одним исключением - он не добавляет в него id. А id материала необходим контент-плагину Поля для того, чтобы получить значения полей конкретного материала. Поэтому, когда мы сами сделали то же самое, но добавив id - плагин заработал.

Дополненный текст в виде статьи на сайте

@webtolkru

#joomla #webdev #php #разработка #поля
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Forwarded from Joomla Feed (Sergey Tolkachyov)
Media is too big
VIEW IN TELEGRAM
WT Yandex map items v.2.0.0. Модуль Яндекс.Карт с API 3.0 для Joomla

Модуль выводит метки из различных компонентов на Яндекс.Карты. На данный момент выводятся только материалы Joomla. Используется API 3.0 Яндекс.Карт. Поддерживается Joomla 4, Joomla 5 и старше.

👩‍💻 v.2.0.0. Что нового?
- API Яндекс.Карт 3.0. Модуль перешёл на использование API 3.0 Яндекс.Карт. Вам потребуется получить API-ключ в кабинете разработчика Яндекс, а также, возможно, указать свой домен в параметрах ключа.
- Шаблонизация маркеров, содержимого всплывающих окон. Вы можете использовать стандартные макеты API Яндекс.Карт 3.0. как для маркеров карты, так и для всплывающих окон. Но также вы можете создавать собственные макеты вывода для каждой категории материалов и для каждого материала Joomla.
Параметры материала Joomla имеют приоритет над параметрами родительской категории. Пути к макетам указываются относительно папки layouts и содержат символ точки . вместо слеша /. Например, modules.mod_wtyandexmapitems.marker.city-marker. Такой подход позволяет использовать механизм переопределений Joomla и переопределять макеты в собственном шаблоне по пути templates/[ВАШ_ШАБЛОН]/html/layouts/mod_wtyandexmapitems/marker/city-marker.php. Для указания шаблона маркера и/или содержимого всплывающего окна используйте текстовое поле или поле типа список.
- Пользовательские поля в макетах. Как в макетах маркеров, так и в макетах содержимого всплывающих окон можно использовать данные из пользовательских полей материалов.
- Большое количество меток. Модуль оптимизирован для отображения большого количества меток. На одной карте вы можете отображать несколько тысяч маркеров. На демо сайте можно увидеть более чем 2700 меток на одной карте.

‼️ Обновление с v.1.0.0 до v.2.0.0
Обновление с этой версии на более новую подразумевает вдумчивое отношение, поэтому мы рекомендуем ознакомиться с документацией, а затем подготовиться и переустановить модуль.

Модуль полностью переписан по сравнению с v.1.0.0, что повлекло за собой необходимость потери обратной совместимости. Если модуль v.1.0.0 использовался с параметрами по-умолчанию, то, возможно, вам придётся только настроить новую версию модуля. Однако, если вы создавали собственные макеты вывода для содержимого всплывающих окон, то изучите новую документацию для того, чтобы оценить объём работы по обновлению макетов.

Модуль бесплатный. Поддерживается Joomla 4.2+, Joomla 5+. PHP 8+.

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

👩‍💻 Демо:
1. Несколько маркеров карты с разными макетами. Общий макет маркера и всплывающего окна для категории материалов. Отдельный макет маркера и всплывающего окна для маркера г.Саратов. Год основания Саратова у маркера на карте - из пользовательского поля.
Демо

2. 2700+ меток на одной карте. Стандартные макеты вывода для маркера карты и содержимого всплывающего окна.
Демо

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

@joomlafeed

#joomla #расширения #yandex #яндекс #map #карты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Сохраню сюда, уж больно жизненно ))
Forwarded from Не баг, а фича
This media is not supported in your browser
VIEW IN TELEGRAM
Семейная жизнь с айтишником. Обстановка.

🙂 Не баг, а фича
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3👍2
Присутствие в медийном пространстве решает.
🔥4
Forwarded from Joomla Feed (Sergey Tolkachyov)
👩‍💻 Заменяем устаревший метод Joomla\CMS\Toolbar\Toolbar::getInstance() в Joomla 5.2.5.

Этот метод нужен для работы с кнопками тулбара в Joomla. Как правильно получить объект текущего тулбара в Joomla 5.x расскажет пост на Хабре участника нашего сообщества Виталия Некрасова (@vitalik_a)

Читать пост

Подпишись на @joomlafeed

#joomla #php #webdev #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Forwarded from Joomla Feed (Sergey Tolkachyov)
Использование своего класса MVC фабрики в компоненте Joomla 5​

У участника нашего сообщества Виталия Некрасова (@vitalik_a) назрела необходимость переопределить метод createModel() в своём компоненте. Он захотел сделать это правильно, заменив класс MVC фабрики своим и поделился своим опытом в посте на Хабре.

Подпишись на @joomlafeed

#joomla #php #webdev #разработка
👍1
Мой плагин используется на официальном сайте ФСТЭК Российской Федерации

Коллеги подметили, что на официальном сайте ФСТЭК используется мой плагин лайков для Joomla WT Content Like.

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

@webtolkru

#joomla
🔥5👍4
Быстрый старт: создание Яндекс.Карты на сайте Joomla. WT Yandex map items - Документация.

Потихоньку пишу документацию к модулю. Чтоб разобраться можно было со стаканом, а не с поллитрой 😎.

На данный момент готовы:
- Установка модуля WT Yandex map items
- Обновление модуля с версии 1.0.0
- Быстрый старт: создание Яндекс.Карты на сайте Joomla

@webtolkru

#joomla #yandex #яндекс #карты #яндекскарты #yandexmaps
👍2
Forwarded from Joomla Feed (Sergey Tolkachyov)
Joomla-дайджест. 1-й квартал 2025 года.

После долгого перерыва читайте все главные новости из мира Joomla с момента выхода Joomla 5.2.0 (15 октября 2024 года) в одной статье. Но для удобства в названии ограничимся первым кварталом 2025 года. Традиционно наш дайджест обозревает новости, расширения, шаблоны и статьи из мира Joomla.

Читать дайджест на Хабре

Подпишись на @joomlafeed

#joomla #расширения #разработка #webdev
👍1
JIntervention Image v.3.11.2
PHP-библиотека обработки изображений Intervention Image для Joomla. Версия 2.7.2 для Joomla 3 и Joomla 4. Версии 3.x - для Joomla 4 и Joomla 5+.
Список изменений
- Intervention Image 3.11.2. Библиотека Intervention Image обновлена до версии 3.11.2.
- Библиотека Intervention Gif обновлена до версии 4.2.2.. Библиотека Intervention\Gif обновлена до версии 4.2.2.
Подробнее
👍1