WebTolkRu
99 subscribers
620 photos
72 videos
2 files
645 links
Joomla-разработчик. Контрибьютер ядра Joomla. https://web-tolk.ru. Разработка Joomla на заказ. Также пишу в @JoomlaFeed.
@sergeytolkachyov Хабр: https://habr.com/ru/users/sergeytolkachyov/posts/
Download Telegram
WT JSwiper - SWiper.js для Joomla-разработчиков v.12.0.3.
Вышел релиз плагина веб-ассета для Joomla 4+, подключающий swiper.js в вашу Joomla.

На скриншоте не лого Swiper потому, что сборку плагина теперь автоматизировал на GitHub Actions. Тут хорошо так помог ИИ Qwen. Новые версии плагина теперь должны появляться сами. Собранные бандлы css и js тянутся с jsdelivr по ссылкам пока что, там может и до полноценной сборки доберусь. Ссылку на GitHub репозиторий поменял на свой.

Страница расширения
GitHub расширения (новый, с автосборками)

@webtolkru

#joomla #js #webdev #development #разработка

😢 И грустная новость: на ладан дышит мой терабайтник WD, прослуживший около 7 лет. Там лежит примерно 2/3 рабочих файлов от клиентов. Ну и всякое личное: distrib, фото/видео. Он ещё подаёт признаки жизни, так что будем надеяться - успею всё скопировать...
👍3
👩‍💻 Совет по Joomla: замена File::append() в Joomla 6.
В Joomla постепенно, хоть порой и непоследовательно, убирают старое API, доставшееся в наследство от CMS и заменяют его на API от Joomla Framework. При этом порой не обходится без потерь. Многие классы и методы ядра годами имеют статус deprecated, многим имеется альтернатива.

Такими классами являются классы для работы с файловой системой сервера Joomla\CMS\Filesystem. Они перемещены в плагин обратной совместимости Joomla 6 и могут ещё работать. Но лучше постепенно переходить на новые методы, а в новых расширениях использовать их сразу.
Одним из "пострадавших" методов стал File::append(), который добавлял содержимое в конец файла. Это обёртка для file_put_contents() с разными проверками, использованием потоков, если надо и т.д. Заменой для этого метода станет File::write() с флагом appendToFile.
Параметры метода
- string $file – Абсолютный путь к файлу
- string $buffer – Содержимое
- bool $useStreams false – Использовать потоки
- bool $appendToFile false – дописывать ли в конец или перезаписывать файл
use Joomla\Filesystem\File;

$absoluteFilePath = JPATH_SITE . '/dir/file.txt';
$content = 'Содержимое файла';

// appentToFile - 4-й аргумент
File::write($absoluteFilePath, $content, false, true);

Либо с PHP 8.0 можно использовать именованные аргументы, и тогда не важен их порядок и наличие необязательных.
use Joomla\Filesystem\File;

$absoluteFilePath = JPATH_SITE . '/dir/file.txt';
$content = 'Содержимое файла';

//Именованные аргументы, appentToFile теперь 3-й аргумент
File::write(file: $absoluteFilePath, buffer: $content, appendToFile: true);

Класс находится в libraries/vendor/joomla/filesystem/src/File.php. Кстати, для некоторых удалённых методов теперь нужно использовать нативные функции php.
- вместо Folder::exists() ➡️ is_dir()
- вместо File::exists() ➡️ is_file() или file_exists()

@webtolkru

#joomla #php #webdev #разработка #development
Please open Telegram to view this post
VIEW IN TELEGRAM
👏4
Написал 2 страницы документации для библиотеки интеграции #joomla с #amocrm. В раздел с описанием установки добавил про долгосрочные токены AmoCRM.
- Установка библиотеки в Joomla
- Входящие вебхуки из AmoCRM в Joomla
- Создание плагина для обработки вебхуков AmoCRM в Joomla

@webtolkru

#php #crm #webdev #development #разработка
👍8
Forwarded from Joomla Feed (Вадим Куницын)
JL Sitemap v2.1.0 – обновление компонента для карт сайта.

JL Sitemap - это компонент для Joomla, который позволяет вам легко и быстро создавать карту вашего сайта.

Среди ключевых улучшений:

- Полная совместимость с Joomla 6.
- Интеграция с планировщиком задач Joomla 4.1+ для автоматизации процессов.
- Рефакторинг кода.
- Улучшена обработка ошибок на фронтенде HTML-карты.

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

Подробнее: https://joomline.ru/rasshirenija/komponenty/jlsitemap.html
👍5
👩‍💻 Joomla .htaccess: правила для включения сжатия Brotli и правила кэширования.

В чате Joomla коллеги поделились полезными правилами для .htaccess, которые позволяют включить серверное сжатие brotli для трафика, а так же настроить кэширование. Сохраняю к себе.

Смотреть на сайте.

#joomla #php #apache #webdev #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
👏7
Иногда совсем не интересно ))

@webtolkru

#joomla
😁4
В настройках Яндекс.Метрики появился профиль сайта.

Яндекс, видимо, хочет получать данные о сайтах вручную, вместо того, чтобы парсить их самостоятельно. Срочно все ставим по счётчикам "Joomla" )))

@webtolkru

#joomla #webdev #seo #yandex
❤3💯1
Forwarded from Joomla Feed (Sergey Tolkachyov)
Media is too big
VIEW IN TELEGRAM
👩‍💻 Компонент View logs v.2.1.0 получил совместимость с Joomla 6.

Компонент просмотра сохраненных логов ядра и расширений Joomla.

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

- Совместимость с Joomla 6 и PHP 8.4.
- Большое обновление интерфейса: добавлено отображение дополнительной информации в списке файлов. Просмотр файла лога в модальном окне и возможность открыть его в отдельном окне.
- Минимальная версия PHP - 8.0.

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

@joomlafeed

#joomla #расширения
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👏1
Joomla официально признана цифровым общественным благом 🙏🎉

Joomla с гордостью сообщает, что была официально признана цифровым общественным благом (Digital Public Good, DPG) Альянсом цифровых общественных благ (Digital Public Goods Alliance, DPGA) — инициативой, поддерживаемой Организацией Объединённых Наций.
Это признание ставит Joomla! в ряд международных open-source проектов, которые разделяют ценности открытости, прозрачности, защиты данных и социального воздействия.

Важно отметить, что статус цифрового общественного блага присвоен самому программному решению Joomla!, а не организации Joomla как юридическому лицу.

Альянс цифровых общественных благ (DPGA) ведёт международный реестр цифровых общественных благ и оценивает проекты на основе чётко определённых стандартов. Его миссия — поддержка открытых технологий, способствующих достижению Целей устойчивого развития ООН (UN SDGs) и решению глобальных задач развития. 🌐

Чтобы получить статус цифрового общественного блага, проект должен соответствовать Стандарту цифровых общественных благ (Digital Public Goods Standard), который включает следующие критерии:

✔️ Открытое лицензирование (например, использование признанных open-source лицензий)
✔️ Защита данных и безопасность
✔️ Соответствие правовым и этическим нормам
✔️ Вклад в достижение Целей устойчивого развития ООН
✔️ Прозрачное управление и долгосрочная устойчивость
✔️ Активное вовлечение сообщества

Получение статуса цифрового общественного блага — процесс далеко не автоматический. Joomla прошла тщательную процедуру оценки, которая потребовала предоставления подробной документации и доказательств соответствия строгим стандартам.

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

Это достижение подчёркивает позицию Joomla как одной из самых надёжных и гибких open-source CMS в мире — системы, которая продолжает давать возможность разработчикам, организациям и государственным структурам создавать открытые, безопасные и инклюзивные цифровые решения.

Оригинал новости
⚡1👍1
Forwarded from Joomla Feed (Sergey Tolkachyov)
Media is too big
VIEW IN TELEGRAM
👩‍💻 Компонент View logs v.2.2.0.
По горячим следам, рекомендациям и просьбам Joomla-сообщества компонент просмотра логов Joomla получил следующую версию

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

- Обновление интерфейса: список логов сделан в виде таблицы, отображение дополнительной информации в списке файлов (время создания и последнего изменения, кнопки действий и их порядок) изменены и сделаны менее пёстрыми.
- Добавлен поиск-фильтр по имени файла лога на странице. Находите нужный файл быстрее.
- Большие файлы. Просмотр файла лога в модальном окне сохранён для файлов менее 1МБ. Возможность открыть файл в отдельном окне сохранена. Но используйте эту функцию с осторожностью: файлы объёмом 8-10мб ещё возможно открывать в браузере, но более крупные - не рекомендуется.

Системные требования:
- Совместимость с Joomla 6 и PHP 8.4.
- Минимальная версия PHP по-прежнему 8.0.

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

@joomlafeed

#joomla #расширения
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Вау! Моя новость о выходе Joomla 6 попала в PHP Digest. И, насколько я помню, Joomla там не фигурировала если ни никогда, то довольно много лет!

https://t.me/phpdigest/347

#joomla #webdevelopment #разработка #coding #dev
👍2🔥1
👩‍💻 Как делать не надо: скрыть отладку на боевом сайте Joomla по IP.
Иногда нужно что-то поправить по-быстрому на боевом сайте, ну вот прям очень нужно и прям срочно посмотреть какой-нибудь массивчик. И тогда мы свой dump() ограничиваем выводом по IP.

Вариант 1. Нативный PHP.
if($_SERVER['REMOTE_ADDR'] == 'xxx.xxx.xxx.xxx') {
dump($array);
}

Вы увидите свой массивчик, а все остальные посетители - нет.
Вариант 2. IpHelper в Joomla.
В Joomla есть класс Joomla\Utilities\IpHelper, в котором собраны инструменты для работы с этой информацией. Оказывается, иногда бывает, что $_SERVER['REMOTE_ADDR'] может вернуть 2 IP адреса или наоборот не содержать его. Или IPv6. Используется он в ядре Joomla при работе с балансировщиком нагрузки и в логгерах. Поэтому можно делать так
if(\Joomla\Utilities\IpHelper::getIp() == 'xxx.xxx.xxx.xxx'){
dump($array);
}
//

Но так делать не нужно, это не правильно 😎

@webtolkru

#joomla #php #webdev #разработка #ip
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Forwarded from Joomla Feed (Sergey Tolkachyov)
Модуль материалов Joomla на Vue.js.

Модуль выводит материалы с помощью JavaScript фреймворка Vue.js.

Предназначен для опытных разработчиков Joomla, желающих интегрировать Vue в уже существующий функционал сайта без глобальной переделки проекта.

Главное преимущество этого способа вывода информации - Скорость!

Для примера. При выводе материалов через стандартный модуль mod_articles_news в количестве 1200 элементов Request Duration (время отдачи страницы) составило 3 секунды!!!
При использовании же модуля с vue.js - 104 ms и это время в принципе не зависит от числа элементов. Так как страница отдается сразу, а вся обработка в модуле происходит асинхронно.

Разработчик - участник нашего сообщества Дмитрий Денисов @mitriy_bug

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

@joomlafeed

#joomla #расширения
👏2👍1👀1
Forwarded from Joomla Feed (Sergey Tolkachyov)
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Swiper.js, документация на русском языке.
Добавил переводы документации современного скрипта слайдера swiper.js на русский язык. Документация эта относится к плагину веб-ассета для Joomla WT JSwiper, который подключает скрипт нативным для Joomla 4+ способом - с помощью Web Asset Manager.

Сегодня добавлены:
- Модули: Autoplay
- Модули: Grid
- Модули: Free Mode
- Модули: Manipulation
- Эффекты: Затухание (Fade Effect)
- Модули: Parallax
- Модули: Lazy Loading
- Эффекты: Перелистывание (Coverflow Effect)

Читать документацию Swiper.js по-русски

@webtolkru

#webdev #swiperjs #js #joomla
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
Forwarded from Joomla Feed (Sergey Tolkachyov)
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 VKGallery — плагин вставки альбомов VK для Joomla.
VKGallery — расширение для Joomla 3.x–5.x, которое позволяет вставлять фотоальбомы ВКонтакте прямо в материалы сайта. Поддерживаются режимы: сетка, слайдер и кирпичная кладка (masonry). Мобильный UX и свайпы в комплекте.

- 3 типа галерей: слайдер, сетка и masonry
- Быстрая работа. AJAX-подгрузка, кэширование запросов, ленивая загрузка изображений.
- Мобильный UX. Свайпы, оптимизация под сенсорное управление и адаптивный дизайн.

Плагин использует шорткод {vkgallery type="album_grid"}album-123456789_987654321{/vkgallery}.

Страница расширения
Демо

Разработчик - участник нашего сообщества Сергей Парфёнов (@Aprol).

@joomlafeed

#joomla #vk #расширения
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Forwarded from Joomla Feed (Sergey Tolkachyov)
Компонент "Жимолость" v.1.2.0 (ex. Спам-оборона для Joomla)
Бесплатный компонент работает под Joomla и позволяет защищать формы сайта от атак спам ботов.

👩‍💻 v.1.2.0. Что нового?
Компонент полностью поддерживает работу с Joomla 6 без необходимости использования плагина совместимости. При этом поддержка Joomla 4 прекратилась, поскольку уже к Joomla 5 отличия между четвертой и пятой версиями были заметны.

Компонент бесплатный. Существует версия для Joomla 3.
Разработчик - участник нашего сообщества Владимир Егоров (@sitogon)

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

#joomla #расширения
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
👩‍💻 Совет по Joomla: Удалить ключ из многомерного массива.
Допустим есть у нас массив с объектами вида:
Array
(
[0] => stdClass Object
(
[value] => 94
[text] => Категория 1
[level] => 1
[params] => {"category_layout":"","image":"","image_alt":""}
[published] => 1
[lft] => 9
[language] => *
)

Элементов в нём штук 100 и нужно нам его почистить от params. Не писать же цикл или array_map() или array_walk()... Для этой работы можно воспользоваться классом \Joomla\Utilities\ArrayHelper (файл vendor/joomla/utilities/src/ArrayHelper.php). Там немало интересного есть. Но нас интересует метод dropColumn().
use Joomla\Utilities\ArrayHelper;

// ...где-то в классе поля, в getOptions()
// получили массив с опциями
$options = array_merge(parent::getOptions(), $options);

// и удалили у них лишний params
$options = ArrayHelper::dropColumn($options, 'params');


@webtolkru

#joomla #php #разработка #development #webdev
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Forwarded from Joomla Feed (Sergey Tolkachyov)
👩‍💻 Русский язык для плагина N3T Cookie consent.
N3T Cookie consent - один из популярных и бесплатных плагинов согласия на использование cookie для Joomla, Внутри имеет немало настроек и возможностей для кастомизации.

Для этого плагина подготовлен файл локализации для русского языка. Устанавливается стандартным для Joomla путём через установщик расширений.

Скачать локализацию

@joomlafeed

#joomla #расширения #локализация
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Люблю шутки математиков)) Какие-то они не от мира сего... )))
😁5👏1
Forwarded from Joomla Feed (Sergey Tolkachyov)
👩‍💻 Quantum Manager нужен сообществу, а автору нужна ваша поддержка!
Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia).

Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

Мы объявляем открытый сбор средств на развитие Quantum Manager — чтобы Дмитрий мог сосредоточиться на проекте и продолжить радовать сообщество новыми версиями.

💚👩‍💻 Поддержите Quantum — и внесите свой вклад в развитие экосистемы Joomla!

Сбор в Т-Банке
https://www.tbank.ru/cf/1fjgBPGVCLF

Вы можете сделать перевод средств и так же можете высказать свое мнение о том, каких еще функций не хватает Quantum.

Для переводов из-за рубежа доступна карта Visa 4177 4901 4782 8315 (Vladimir Eliseev).

👉 Главные доработки:
- Адаптация к работе на joomla 6.x без плагина обратной совместимости
- Возвращение превью для svg (оно было отключено в связи потенциальным уменьшением безопасности для пользователей)
- Если пользователь создает свое поле для загрузки изображений, то квантум в этом поле на данный момент не вызывается — срабатывает вызов стандартного медиа менеджера Joomla. Этот вопрос требует дополнительного исследования и решения.
- Исправить проблему с неверной обрезкой в редакторе изображений (возможно нарушение пропорций при определенных условиях обрезки по шаблону)
- Попытаться добавить возможность работы с мобильных телефонов
- При работе в папке с большим количеством файлов Quantum ведет себя нестабильно. Попытаться реализовать возможность режима работы с большим кол-вом папок.
- Устранить создание undefined папок
- Закрыть некоторую часть задач на гитхабе: https://github.com/Quantum-Manager/tracker/issues

@joomlafeed

#joomla #расширения #community
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝1