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
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