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
Forwarded from Joomla Feed (Sergey Tolkachyov)
👩‍💻➕ 👩‍💻 🟰♥️ Joomla 5 Snippets for Visual Studio Code - коллекция сниппетов кода.
Коллекция сниппетов кода в маркетплейсе VS Code позволит ускорить работу при разработке расширений Joomla или шаблонов.
Список сниппетов:

DI-контейнер
- sp-toolbar - Создать объект панели инструментов
- sp-config - Создать объект конфигурации
- sp-language - Создать языковой объект
- sp-app - Создать объект приложения
- sp-input - Создать объект Input
- sp-db - Создать объект базы данных
- sp-object - Создание любого объекта DI-контейнера
- sp-user-id - Загрузить пользователя по объекту Id
- sp-user-username - Загрузить пользователя по username
- sp-mailer - Создать объект Mailer
- sp-user - Получить текущий объект пользователя

Операции с базами данных
- sp-db-query - Создание запроса к базе данных с помощью Fluent Interface

Обработка форм
- sp-form - Создать пустую форму XML
- sp-listfield - Создать поле списка
- sp-textareafield - Создать текстовое поле
- sp-sqlfield - Создать поле SQL
- sp-calendarfield - Создать поле календаря
- sp-hiddenfield- Создать скрытое поле формы
- sp-spacerfield - Создать поле spacer
- sp-repeatablefield - Создать повторяющееся поле формы
- sp-form-validate - Код проверки формы

Разработка плагинов
- sp-plugin-base - Создать базовый класс плагина
- sp-plugin-events - Регистрация событий плагина
- sp-plugin-xml - XML-файл конфигурации плагина
- sp-plugin-di-provider - provider.php для плагина
- sp-plugin-event - Код триггера события плагина
- sp-plugin-di-service - Служба внедрения зависимостей плагинов

Разработка компонентов
- sp-component-controller - Базовый контроллер компонента
- sp-component-model - Базовая модель компонента с CRUD
- sp-component-helper - хелпер компонента

Разработка шаблона
- sp-template-index - Файл index.php шаблона
- sp-template-chrome - Обёртка модуля (chrome)
- sp-template-override - База переопределения шаблона
- sp-template-error - Страница ошибок шаблона
- sp-template-header - хедер шаблона
- sp-template-menu - Шаблон меню
- sp-template-single - Шаблон (одностраничный?)
- sp-template-single-layout-section - секция макета (одностраничного?) шаблона
- sp-template-single-template

Вспомогательные функции
- sp-input - Обработка данных с фильтрацией типов (Input)
- sp-language - Загрузка языкового файла
- sp-error - Обработка и регистрация ошибок
- sp-session - работа с сессией

Установить коллекцию сниппетов

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

#разработка #php #webdev #vscode
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Подключение Joomla Boilerplates для PHP Storm.

Писал ранее о том, что Joomla-разработчик Игорь Бердичевский поделился своими шаблонами и конфигами для PHP Storm с сообществом. Дошли руки до того, чтобы попробовать их использовать у себя и встал вопрос: "А что с этим набором файлов делать?".

Оказалось всё просто: если у вас Windows, то эти папки нужно скопировать в папку с конфигом PHP Storm - в c:\Users\[ВАШ_ЮЗЕР]\AppData\Roaming\JetBrains\PhpStorm[ВЕРСИЯ_PHP_STORM]\. PHP Storm потом перезапустить. И при создании нового файла появится выпадающий список с этими шаблонами.

Ссылка на репозиторий Игоря ещё раз: Joomla JetBrains PhpStorm

@webtolkru

#joomla #php #phpstorm #boilerplate
🔥2👍1
Forwarded from Joomla Feed (Sergey Tolkachyov)
Joomla 4 Rest API: создаем свои JSON-эндпоинты с нуля

По умолчанию Joomla отправляет ответы в формате JSON API, если запрос содержит Accept: application/json или специальный заголовок JSON API. Хотя ядро Joomla не поддерживает другие типы контента, система позволяет разработчикам добавлять дополнительные форматы для ответов.

👩‍💻 Цели материала:
- Получить JSON ответ от API Joomla;
- Создать необходимый плагин группы webservices и API-часть компонента;
- Использовать параметры модуля для моделирования данных, которые мы отправим в ответе API.

👩‍💻 Что не является целью?​
Обучение созданию расширений. Данное руководство предполагает, что вы уже умеете создавать расширения для Joomla. Для работы API потребуются плагин и компонент, но компонент может быть минимальным — без модели (Model), с простой административной частью.

Эта статья - перевод на русский язык раздела официальной документации Joomla для разработчиков Joomla! Programmers Documentation for Joomla 5.2. Статья пригодится разработчиком, работающим с реактивными frontend- фреймворками.

Перевод выполнил участник нашего сообщества Виталий Некрасов (@vitalik_a).

- Читать статью на Хабре
- Оригинал в документации

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

#webdev #разработка #joomla #api #restapi
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Joomla Feed (Sergey Tolkachyov)
Вышел Phoca Cart v.5.0.0 - компонент интернет-магазина для Joomla

Хотите ли вы запустить большой интернет-магазин, небольшой интернет-магазин или просто онлайн-каталог, Phoca Cart справится с любой ситуацией. Он прост в настройке и использовании, что позволяет вам быстро и без усилий создать свой интернет-магазин на вашей системе Joomla.

Phoca Cart 5 — это расширение Joomla 5, которое не будет корректно работать на Joomla 4. Расширения Phoca версии 5 обычно работают на Joomla 4, но Phoca Cart является исключением, поскольку оно использует новые современные функции Joomla 5, поэтому оно работает только на Joomla 5.

Компонент развивается усилиями чешского Joomla-разработчика Яна Павелки (@phocacz).

Среди разработчиков экосистемы расширений для Phoca Cart есть и некоторые отечественные, предлагающие аддоны способов оплаты для Phoca Cart.

Страница расширения
Скачать
Расширения для Phoca Cart

#расширения
👍1
WT Yandex map items v.2.0.1
Модуль выводит метки из различных компонентов на Яндекс.Карты. На данный момент выводятся только материалы Joomla. Используется API 3.0 Яндекс.Карт. Поддерживается Joomla 4, Joomla 5 и старше.
Список изменений
- Исправление ошибок. - Исправлена ошибка, когда несколько экземпляров модуля имели общий файл кэша данных.
- Исправлена проблема с случайным открытием модального всплывающего окна при перетаскивании карты
- Прочие мелкие исправления и рефакторинг
Подробнее
👍2
Метки карты: изображения. WT Yandex map items - Документация.

Как указать изображения в качестве маркера метки Яндекс.Карты. Внешний вид метки по умолчанию на Яндекс.Карте представляет собой красный круг с линией, ведущей к точке на карте. Справа от круга на белом фоне надпись. Эта надпись - заголовок материала Joomla. Как сделать не по умолчанию расскажет документация.

https://web-tolk.ru/dev/joomla-modules/wt-yandex-map-items/documentation/yandex-maps-placemark-markers-icon-images

@webtolkru

#joomla #яндекс #яндекскарты
👍3
JoomGallery выпустил багфикс 4.0.1

Как всегда, когда выпускаешь новую версию (JoomGallery 4.0.0) - почему-то именно после релиза начинает где-то что-то вылазить )) Сейчас выпустили релиз с исправлениями ошибок.

Ссылка на GitHub

@webtolkru

#joomgallery #joomla
👍4
Forwarded from Joomla Feed (Sergey Tolkachyov)
👩‍💻 Совет по Joomla: dot-нотация для доступа к значениям вложенных массивов

Наткнулся на пост в одном из php-шных каналов о том, как в Laravel можно использовать нотацию "точка" для доступа к значениям вложенных массивов. И тем самым упростить доступ к многомерным массивам с помощью одной строки, разделенной точками.

👩‍💻 Joomla тоже так может!
use Joomla\Registry\Registry;
$data = [
'user' => [
'name' => 'John Doe',
'email' => 'john@example.org',
]
];

$data = new Joomla\Registry\Registry($data);

$name = $data->get('user.name');
dump($name);

Облегчите себе жизнь, работая с Joomla 😎.

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

#joomla #разработка #php #cookbook
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1
Автоматическое подключение локализации для веб-ассета в Joomla

Начиная с Joomla 4 в ядре реализована концепция веб-ассетов. Управление JavaScript и CSS в Joomla значительно упростилось благодаря классу WebAssetManager. Есть замечательная статья Дмитрия Рекуна (@drekun) Как правильно подключать JavaScript и CSS в Joomla 4, в которой подробно и с примерами кода рассказывается об этой концепции и её применении. Например, в web asset мы можем оформить какую-нибудь готовую js-карусель или библиотеку.

Также можно оформить веб-ассетом и свой собственный js-скрипт, которому могут понадобиться дополнительные данные для работы на странице: как данные из PHP, так и языковые константы. С помощью WebAssetManager мы можем получить эти данные в момент сразу при подключении ассета. Как это сделать?

Читаем в посте на Хабре

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

#joomla #php #разработка #cookbook
👍2
WT Yandex map items v.2.0.2
Модуль выводит метки из различных компонентов на Яндекс.Карты. На данный момент выводятся только материалы Joomla. Используется API 3.0 Яндекс.Карт. Поддерживается Joomla 4, Joomla 5 и старше.
Список изменений
- Работа модуля только на указанных страницах. Исправлена ошибка AJAX запроса в случае, если модуль привязан к конкретным пунктам меню.
Подробнее
👍1
Пробуем Joomla 5 REST API. Вроде работает )
👍3
Создание материалов Joomla с пользовательскими полями по REST API (webservice)

Может я где проглядел, но те немногие источники, с которыми я бегло знаком, в основном рассказывают о том как в принципе создать материал в Joomla 4 / Joomla 5 с помощью REST API. А про пользовательские поля ничего не сказано: как в Joomla REST API к материалу добавить ещё и пользовательские поля?

Контекст: переношу с одного сайта на другой материалы: из Joomla 3 в Joomla 5. Для этого пишу CLI-скрипт (командная строка). Скрипт создаёт материалы на сайте-приёмнике через REST API Joomla. Собственно, похожий пример был в статье французского разработчика Александра Элизе (Alexandre Elisé), где он приводил пример консольного плагина Jiji (статья в JCM, GitHub).

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

Секрет со структурой данных REST API Joomla прост: нужно воссоздать структуру данных такую же, как в форме редактирования материала в админке.

$this->apiUrl->setPath('/api/index.php/v1/content/articles');
$data = [
'title' => 'How to add an article to Joomla via the API?',
'alias' => 'how-to-add-article-via-joomla-api',
'articletext' => 'I have no idea...',
'catid' => 12,
'language' => '*',
'metadesc' => '',
'com_fields' => [
'multicategory' => 15,
'pole-wt-yandex-map' => '55.752502,37.623095',
],
];

$this->sendRequest($this->apiUrl->toString(), $data);

Чтобы по REST API к материалу Joomla добавились ещё и поля, нужно создать элемент com_fields, а в него уже положить массив вида системное имя поля => значение поля. В примере кода выше multicategory - это системное имя (как-бы алиас) пользовательского поля, а 15 - его значение.

@webtolkru

#joomla #разработка #php #restapi #api
👍4🔥1
SW JProjects v.2.4.0.1
Компонент - менеджер цифровых проектов для Joomla! CMS. Компонент обеспечивает создание каталога цифровых проектов и предоставляет возможность скачивания, в том числе с использованием лицензионных ключей.
Список изменений
- Исправление ошибок. Добавлена пропущенная проверка на контекст в плагине логирования действий пользователя.
Подробнее
👍1
WT Bootstrap image slider, модуль слайдера изображений v.3.0.1
Joomla-модуль слайдера изображений на Bootstrap 4 и Bootstrap 5 Carousel. Модуль поддерживает Joomla 4, Joomla 5. Адаптивная графика.
Список изменений
- HTML-теги в заголовке подзаголовке слайда. Добавлена возможность использовать HTML-теги из белого списка Joomla в полях заголовка и подзаголовка слайда.
Подробнее
👍1
Forwarded from Joomla Feed (Sergey Tolkachyov)
Joomla. Когда они это починят?

Статья Joomla Community Magazine 2015 года, но тема в ней актуальна была и до и после её публикации. Проблема, которая поднимается в этой статье касается не только Joomla, но и любого программного обеспечения.

Каждый раз, когда выходит новая версия всегда найдутся люди, спрашивающие: "Когда они это починят?". Или вопиющих: "этой проблеме уже много лет". Но для того, чтобы ошибку исправить нужно чтобы кто-то её обнаружил. И не только обнаружил, но и сообщил об этом. Тогда вероятность того, что ошибку исправят будет гораздо выше.

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


Вы можете сообщить об ошибке: создать issue на GitHub или на issues.joomla.org. Хорошее сообщение об ошибки содержит описание самой ошибки, ситуации, в которой она возникает, инструкцию как воспроизвести ошибку. Всё это облегчит жизнь разработчикам, которые возьмутся её исправлять.

Кроме того, вы можете протестировать уже сделанные исправления ошибок. Joomla следит за качеством кода и каждое изменение в коде ядра должно быть проверено как минимум 2-мя другими независимыми разработчиками. Тест от автора изменений в коде не считается. Поэтому вполне возможно, что вашу проблему уже давно решили, но требуется всего лишь протестировать её исправление и нажать кнопочку "Tested successfully" в PR на issues.joomla.org.

Ни одно программное обеспечение не лишено ошибок — это постоянный процесс. Приложите к их исправлению совсем немного своих усилий. Под лежачий камень вода не течёт.


Joomla Community Magazine: Did they fix it yet?

#community #сообщество
👍2
20 минут на релиз от того, как увидел комментарий на YouTube до релиза и 13 минут на обратную связь.
🔥1
В этой группе будут анонсы встреч в Москве почитателей Joomla. Там же будут митапы. Или просто если кто-то едет в Москву - пишите, можно договориться о встрече.

https://t.me/joomla_meetup
👍2
Forwarded from Joomla Feed (Sergey Tolkachyov)
Состоялся Joomla meetup. Москва.

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

На этой встрече обсудили настоящее и будущее Joomla, глобальные мысли о возможном проведении Joomla Day Russia, а также менее глобальные, но от этого не менее важные и интересные - о создании Joomla User Group (JUG) - Moscow. В рамках JUG обычно проводятся регулярные встречи как оффлайн, так и онлайн или гибридного формата. Обмен опытом, мнениями, дружеская подсказка, сделанная вовремя - это Joomla User Group. Пока что ещё продумываются детали и идёт поиск места для оффлайн-встреч.

👩‍💻 Для координации встреч участников сообщества в Москве был создан отдельный чат: гостиницы, станции метро, площадки для проведения мероприятий и кафе/рестораны для их продолжения - в чате Joomla Meetup Moscow. Иногда 10-15 минут личной встречи заменяют несколько часов переписки или телефонных разговоров. Если вы оказались в столице по рабочим или личным делам - пишите, вам будут рады.

На фото: Владимир Елисеев @progreccor (разработчик Radical Form и др.), в середине - чета Толкачевых: Диана и Сергей (@sergeytolkachyov, расширения WebTolk, админ чата сообщества) и Владимир Сергиенко (@aixman, маркетолог и разработчик, админ чата сообщества).
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4😁1
Был сегодня весь день на IT-конференции в Саратовском политехническом университете.

В первый раз выбрался на подобное мероприятие. В целом доклады были в довольно далёких от меня сферах: кластеры, биг дата, распределённые вычисления, работа с "железом" и т.д. Но с некоторыми сферами я соприкасался: работа с внешними API, общение с клиентами и менеджмент проектов и т.д. Выступали представители отделов IT и разработки из МТС, Контур (Контур.Фокус) и других.

Не могу сказать, что все было для меня в новинку, примерно 60-70% технологий и названий я слышал, о некоторых имею представление как они работают, но без подробностей. Но все равно было интересно. Ведь главное, что ты видишь - это мышление других разработчиков, какие-то концепции и подходы. За некоторыми словами и эмоциями выступающих были видны знакомые мне тоже ситуации: сдвиг дедлайнов, изменение требований к задачам "на лету", конфликтные ситуации и вообще разные цели бизнеса, разработки и менеджмента: когда ты хочешь сделать классный продукт, а бизнес зарабатывает деньги и минимизирует расходы. Хотя это абсолютно нормально и для каждой из сторон)))

Целью посещения конференции было "на людей посмотреть". Посмотрел. Может когда-то появится секция и для web) Тогда будет возможность выступить с Joomla)


https://saratovit.ru/events/2025/20286/
👍7