Forwarded from Joomla Feed (Sergey Tolkachyov)
Компонент календаря событий iCagenda v.3.9.4
Популярный компонент для календаря мероприятий начиная с версии 3.9.0 получил полную совместимость с Joomla 5 без включенного плагина обратной совместимости.
👩💻 iCagenda позволяет сделать на сайте как платную, так и бесплатную регистрацию на мероприятия, события, концерты.
Некоторые сторонние разработчики поддерживают интеграции с iCagenda: AcyMailng, Falang, Advanced Custom Fields.
Возможности компонента:
- гибкие настройки событий, регулярные события
- контактная информация мероприятия
- фильтры для поиска
- платная и бесплатная регистрации
- функция отмены мероприятия с уведомлением всех посетителей
- плагины ActionLog и Privacy (персональные данные Joomla)
- расслыка посетителям конкретного мероприятия
... и многое другое.
Компонент имеет русскую локализацию.
Цены
Расширение имеет 3 редакции:
- бесплатная версия
- Платная:
- - Pro 1 год: 25 евро
- - Pro Unlimited: 100 евро единоразово
Страница расширения
Расширение на JED
Демо Joomla 4 / Joomla 5
#расширения
Популярный компонент для календаря мероприятий начиная с версии 3.9.0 получил полную совместимость с Joomla 5 без включенного плагина обратной совместимости.
Некоторые сторонние разработчики поддерживают интеграции с iCagenda: AcyMailng, Falang, Advanced Custom Fields.
Возможности компонента:
- гибкие настройки событий, регулярные события
- контактная информация мероприятия
- фильтры для поиска
- платная и бесплатная регистрации
- функция отмены мероприятия с уведомлением всех посетителей
- плагины ActionLog и Privacy (персональные данные Joomla)
- расслыка посетителям конкретного мероприятия
... и многое другое.
Компонент имеет русскую локализацию.
Цены
Расширение имеет 3 редакции:
- бесплатная версия
- Платная:
- - Pro 1 год: 25 евро
- - Pro Unlimited: 100 евро единоразово
Страница расширения
Расширение на JED
Демо Joomla 4 / Joomla 5
#расширения
Please open Telegram to view this post
VIEW IN TELEGRAM
🙏1
WT CDEK library для Joomla
Небольшая нативная PHP Joomla библиотека для работы с API службы доставки CDEK. Пакет состоит из плагина для хранения настроек, PHP-библиотеки и виджета карты для выбора пунктов выдачи заказа.
Поддерживается Joomla 4.2.7 и выше.
Библиотека представляет собой клиент для подключения и авторизации в API CDEK и несколько методов для работы с ним с предварительной проверкой структуры данных, а также обработку ошибок при запросе. Для работы с библиотекой под рукой необходимо иметь официальную документацию CDEK API.
Данное расширение предназначено для Joomla-разработчиков. Они могут использовать его в качестве зависимости при разработке своих расширений для Joomla.
Pull Requests welcome со стороны Joomla разработчиков!
В составе библиотеки методы для получения списка ПВЗ, регионов, городов, 2 метода для расчета стоимости доставки и другие.
👩💻 Виджет выбора типа доставки от CDEK (карта с выбором ПВЗ)
В состав библиотеки включен виджет карты ПВЗ последней на данный момент версии: 3.10.2.
Javascript виджета оформлен как Joomla Web Asset. В своём коде подключаем его с помощью
По умолчанию в комплекте с виджетом идёт файл
Страница расширения, примеры кода.
GitHub репозиторий WT CDEK Library
Документация API CDEK
Документация виджета карты с выбором ПВЗ CDEK
#joomla #cdek #php #library #sdk #api
Небольшая нативная PHP Joomla библиотека для работы с API службы доставки CDEK. Пакет состоит из плагина для хранения настроек, PHP-библиотеки и виджета карты для выбора пунктов выдачи заказа.
Поддерживается Joomla 4.2.7 и выше.
Библиотека представляет собой клиент для подключения и авторизации в API CDEK и несколько методов для работы с ним с предварительной проверкой структуры данных, а также обработку ошибок при запросе. Для работы с библиотекой под рукой необходимо иметь официальную документацию CDEK API.
Данное расширение предназначено для Joomla-разработчиков. Они могут использовать его в качестве зависимости при разработке своих расширений для Joomla.
Pull Requests welcome со стороны Joomla разработчиков!
В составе библиотеки методы для получения списка ПВЗ, регионов, городов, 2 метода для расчета стоимости доставки и другие.
В состав библиотеки включен виджет карты ПВЗ последней на данный момент версии: 3.10.2.
Javascript виджета оформлен как Joomla Web Asset. В своём коде подключаем его с помощью
WebAssetManager.По умолчанию в комплекте с виджетом идёт файл
service.php, который является точкой входа для ajax-запроса. В данной библиотеке функционал этого файла (получение списка ПВЗ и калькуляции тарифов) перенесён в системный плагин Joomla.Страница расширения, примеры кода.
GitHub репозиторий WT CDEK Library
Документация API CDEK
Документация виджета карты с выбором ПВЗ CDEK
#joomla #cdek #php #library #sdk #api
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Forwarded from Joomla Feed (Sergey Tolkachyov)
This media is not supported in your browser
VIEW IN TELEGRAM
SM WT CDEK аддон доставки для JoomShopping
Способ доставки для интернет-магазина JoomShopping с выбором ПВЗ.
Возможности аддона:
- работа с CDEK API v.2.0
- расчет стоимости по актуальным тарифам для физ.лиц (доставка) и интернет-магазин (для некоторых тарифов требуется юр.лицо)
- Отображение сроков доставки
- Отображение виджета с картой для выбора пункта выдачи заказа или постамата (нужен API ключ Яндекс.Карт)
- Неограниченное количество способов доставки Joomla JoomShopping с помощью CDEK
- Возможность наценки на способы доставки CDEK
- Возможность указания коэффициента поправки веса. В этот коэффициент закладывается вес упаковки.
- Отображение отладочной информации на этапе расчета стоимости доставки.
- Возможность отключить показ способа доставки или сделать его неактивным в случае возникновения ошибок
Системные требования:
- минимальная версия Joomla - 4.2.7.
- минимальная версия JoomShopping - 5+
- Библиотека WT Cdek. Устанавливается вместе с аддоном.
- API ключ Яндекс.Карт
Расширение платное.
Страница расширения и купить
#расширения #JoomShopping
Способ доставки для интернет-магазина JoomShopping с выбором ПВЗ.
Возможности аддона:
- работа с CDEK API v.2.0
- расчет стоимости по актуальным тарифам для физ.лиц (доставка) и интернет-магазин (для некоторых тарифов требуется юр.лицо)
- Отображение сроков доставки
- Отображение виджета с картой для выбора пункта выдачи заказа или постамата (нужен API ключ Яндекс.Карт)
- Неограниченное количество способов доставки Joomla JoomShopping с помощью CDEK
- Возможность наценки на способы доставки CDEK
- Возможность указания коэффициента поправки веса. В этот коэффициент закладывается вес упаковки.
- Отображение отладочной информации на этапе расчета стоимости доставки.
- Возможность отключить показ способа доставки или сделать его неактивным в случае возникновения ошибок
Системные требования:
- минимальная версия Joomla - 4.2.7.
- минимальная версия JoomShopping - 5+
- Библиотека WT Cdek. Устанавливается вместе с аддоном.
- API ключ Яндекс.Карт
Расширение платное.
Страница расширения и купить
#расширения #JoomShopping
👍1
Поступают запросы на создание версий расширений для Joomla 3 для тех расширений, что были написаны сразу для Joomla 4 / Joomla 5. Надо?
Anonymous Poll
20%
Да
60%
Нет
20%
Посмотреть ответы
Forwarded from Joomla Feed (Sergey Tolkachyov)
Вышел JoomShoppping 5.5.0
Один из самых популярных компонентов интернет-магазина на Joomla.
Что нового?
- при создании пункта меню выбрать категорию, производителя и т.д. можно из выпадающего списка
- обновлён макет выбора уже загруженного изображения при редактировании товара
- исправлено сохранение характеристик (выбор основной категории товара
при мультикатегорийности сбрасывал значение текстовых характеристик)
- обновление роутера компонента
- новый фильтр в списке пользователей в админке
Поля JForm для разработчиков
Добавлены поля Joomla Form для разработчиков сторонних расширений. Теперь можно не писать свои типы полей Joomla для получения данных JoomShopping, а использовать из ядра компонента. Namespace полей
Доступны поля:
- список зависимых атрибутов
- список значений для выбранного атрибута
- список категорий
- список характеристик
- список значений для указанной характеристики
- список меток (лейблов) товара
- список статусов заказа
- список производителей
- список вендоров
Теперь в своём модуле или плагине можно выбрать категорию товаров таким образом:
Ещё примеры использования здесь.
JoomShopping вышел на GitHub
Долгое время разработчики работали с сообществом только посредством своего форума. На форуме они получали предложения, багрепорты, а изменения производились в закрытом репозитории. Однако, недавно появился ещё репозиторий компонента на GitHub для сторонних контрибьютеров, где есть возможность предложить свой код и он даже может быть принят. Для этого изменение должно быть хорошо описано/задокументировано в ветке на форуме или в самом PR: описана проблема, шаги её воспроизведения. Гарантий того, что ваш PR будет сразу принят нет, но это большой шаг в сторону открытости компонента к изменениям.
Скачать JoomShopping
#JoomShopping #php #расширения #интернетмагазин
Один из самых популярных компонентов интернет-магазина на Joomla.
Что нового?
- при создании пункта меню выбрать категорию, производителя и т.д. можно из выпадающего списка
- обновлён макет выбора уже загруженного изображения при редактировании товара
- исправлено сохранение характеристик (выбор основной категории товара
при мультикатегорийности сбрасывал значение текстовых характеристик)
- обновление роутера компонента
- новый фильтр в списке пользователей в админке
Поля JForm для разработчиков
Добавлены поля Joomla Form для разработчиков сторонних расширений. Теперь можно не писать свои типы полей Joomla для получения данных JoomShopping, а использовать из ядра компонента. Namespace полей
Joomla\Component\Jshopping\Administrator\Field. Доступны поля:
- список зависимых атрибутов
- список значений для выбранного атрибута
- список категорий
- список характеристик
- список значений для указанной характеристики
- список меток (лейблов) товара
- список статусов заказа
- список производителей
- список вендоров
Теперь в своём модуле или плагине можно выбрать категорию товаров таким образом:
<field type="jshoppingcategories"
name="jshoppingcategories"
label="jshoppingcategories"
addfieldprefix="Joomla\Component\Jshopping\Administrator\Field"/>
Ещё примеры использования здесь.
JoomShopping вышел на GitHub
Долгое время разработчики работали с сообществом только посредством своего форума. На форуме они получали предложения, багрепорты, а изменения производились в закрытом репозитории. Однако, недавно появился ещё репозиторий компонента на GitHub для сторонних контрибьютеров, где есть возможность предложить свой код и он даже может быть принят. Для этого изменение должно быть хорошо описано/задокументировано в ветке на форуме или в самом PR: описана проблема, шаги её воспроизведения. Гарантий того, что ваш PR будет сразу принят нет, но это большой шаг в сторону открытости компонента к изменениям.
Скачать JoomShopping
#JoomShopping #php #расширения #интернетмагазин
GitHub
Добавлены 7 полей JForm с неймспейсом Joomla\Component\Jshopping\Administrator\Field by sergeytolkachyov · Pull Request #1 · j…
Feature request: Поля JoomShopping для разработчиков
https://www.joomshopping.com/forum/posts/12/15284.html?lang=ru
Некоторые поля пересекаются с методами из Joomla\Component\Jshopping\Site\Helper\...
https://www.joomshopping.com/forum/posts/12/15284.html?lang=ru
Некоторые поля пересекаются с методами из Joomla\Component\Jshopping\Site\Helper\...
👍1
Например, при создании способа доставки вы хотите показывать "дня", "дней" в зависимости от количества дней: "3 дня", но "5 дней".
Для этого воспользуйтесь методом
Text::plural() в Joomla.PHP файл:
use Joomla\CMS\Language\Text;
// Сколько дней будет идти посылка
$period_max = 5;
/**
* Подключаем файл с языковыми константами для вывода "дней" в падежах
*/
$lang = Factory::getApplication()->getLanguage();
// Системное имя расширения
$extension = 'lib_webtolk_libraryname';
// JPATH_SITE для языковых файлов фронтенда
$base_dir = JPATH_SITE;
// Код языка
$language_tag = 'ru-RU';
// Принудительная загрузка указанного языка
$reload = true;
// Загружаем все языковые константы из файла локализации
$lang->load($extension, $base_dir, $language_tag, $reload);
?>
Срок доставки: <?php echo $period_max .' '.Text::plural('WT_SHIPPING_DAY', $period_max); ?>
Для того, чтобы это работало - ваше расширение должно иметь локализацию (языковые файлы) по канонам Joomla.
Языковой *.ini файл (локализация):
WT_SHIPPING_DAY_0 = "дней"
WT_SHIPPING_DAY_1 = "день"
WT_SHIPPING_DAY_2 = "дня"
WT_SHIPPING_DAY_MORE = "дней"
#joomla #php #cookbook #dev #web #wevdev
@webtolkru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
WT Telegram bot - Content v.1.0.1
Плагин позволяет отправлять в Telegram чат или канал материалы из интерфейса Joomla. На данный момент вручную с помощью кнопки на тулбаре в списке статей или при редактировании статьи. Для его работы нужен установленный и настроенный основной плагин System - WT Telegram bot
Список изменений
- Исправление ошибок. Некорректное добавление кнопки в интерфейсе Joomla 4, вызывавшее ошибку.
- Исправление английской локализации. Исправление перевода на английский язык
Подробнее
Плагин позволяет отправлять в Telegram чат или канал материалы из интерфейса Joomla. На данный момент вручную с помощью кнопки на тулбаре в списке статей или при редактировании статьи. Для его работы нужен установленный и настроенный основной плагин System - WT Telegram bot
Список изменений
- Исправление ошибок. Некорректное добавление кнопки в интерфейсе Joomla 4, вызывавшее ошибку.
- Исправление английской локализации. Исправление перевода на английский язык
Подробнее
Forwarded from Joomla Feed (Sergey Tolkachyov)
Работа с Joomla в PHPStorm. Шаблоны (boilerplate) для быстрого создания модулей, плагинов Joomla в IDE.
PHPStorm - среда разработки для PHP-программистов, работающих с кодом как на чистом PHP, так и с такими PHP-фреймворками как Symfony, Laravel, Yii и другими. Эти фреймворки чаще всего используются на "серьёзных" "взрослых" проектах с большой посещаемостью, нагрузкой на сервер, аудиториями с миллионами посетителей. Однако, у многих до сих пор вызывает удивление то, что Joomla - это тоже PHP-фреймворк. Долгое время это был параллельный CMS проект, а начиная с Joomla 4 фреймворк вошёл в состав ядра Joomla CMS. Таким образом у вас под капотом CMS полноценный PHP фреймворк, который в умелых руках может стать мощным проектом.
PHPStorm с 2016 года имеет отличную поддержку Joomla, подсказывает методы работы ядра, аргументы функций, навигация по коду и всё-всё, что обычно является атрибутом "серьёзных" движков.
Бойлерплейты Joomla расширений для PHPStorm
Участник нашего сообщества, разработчик Игорь Бердичевский (@septdir) поделился на GitHub своими "плюшками" для работы с Joomla:
- codeStyle - Code formating style
- colors - цветовая схема для PHPStorm
- fileTemplates - шаблоны для расширений Joomla
- options - файл с названиями для шаблонов
- project - шаблон для пустого Joomla-проекта включая задания для сборщика проекта Phing
- templates - Live Templates for files
- watchers - Configuration for File Watcher
Этот инструментарий позволяет разработчику в PHPStorm быстро создать каркас нового модуля, плагина, компонента и не тратить время на ручное создание структуры файлов и папок.
Репозиторий JetBrains-PhpStorm на GitHub
Также полезные ссылки:
- официальная документация PHPStorm по работе с Joomla
- Настройка IDE (PhpStorm) для работы с Joomla - большая подробная статья, инструкция как всё правильно настроить и работать. Автор - участник нашего сообщества Дмитрий Рекун (@drekun)
#joomla #php #phpstorm #ide #cms #framework #boilerplate #github #laravel #symfony #yii
PHPStorm - среда разработки для PHP-программистов, работающих с кодом как на чистом PHP, так и с такими PHP-фреймворками как Symfony, Laravel, Yii и другими. Эти фреймворки чаще всего используются на "серьёзных" "взрослых" проектах с большой посещаемостью, нагрузкой на сервер, аудиториями с миллионами посетителей. Однако, у многих до сих пор вызывает удивление то, что Joomla - это тоже PHP-фреймворк. Долгое время это был параллельный CMS проект, а начиная с Joomla 4 фреймворк вошёл в состав ядра Joomla CMS. Таким образом у вас под капотом CMS полноценный PHP фреймворк, который в умелых руках может стать мощным проектом.
PHPStorm с 2016 года имеет отличную поддержку Joomla, подсказывает методы работы ядра, аргументы функций, навигация по коду и всё-всё, что обычно является атрибутом "серьёзных" движков.
Бойлерплейты Joomla расширений для PHPStorm
Участник нашего сообщества, разработчик Игорь Бердичевский (@septdir) поделился на GitHub своими "плюшками" для работы с Joomla:
- codeStyle - Code formating style
- colors - цветовая схема для PHPStorm
- fileTemplates - шаблоны для расширений Joomla
- options - файл с названиями для шаблонов
- project - шаблон для пустого Joomla-проекта включая задания для сборщика проекта Phing
- templates - Live Templates for files
- watchers - Configuration for File Watcher
Этот инструментарий позволяет разработчику в PHPStorm быстро создать каркас нового модуля, плагина, компонента и не тратить время на ручное создание структуры файлов и папок.
Репозиторий JetBrains-PhpStorm на GitHub
Также полезные ссылки:
- официальная документация PHPStorm по работе с Joomla
- Настройка IDE (PhpStorm) для работы с Joomla - большая подробная статья, инструкция как всё правильно настроить и работать. Автор - участник нашего сообщества Дмитрий Рекун (@drekun)
#joomla #php #phpstorm #ide #cms #framework #boilerplate #github #laravel #symfony #yii
GitHub
GitHub - SeptdirWorkshop/JetBrains-PhpStorm: Various useful files for working in the JetBrains PhpStorm
Various useful files for working in the JetBrains PhpStorm - SeptdirWorkshop/JetBrains-PhpStorm
👍2
На основе данных из
$_GET, $_POST порой строится логика работы кода начиная от шаблона Joomla и кончая модулями и плагинами. Для работы с этими данными используется объект Input, который мы получаем из Приложения Joomla. Приведу пример, часто использующийся при разработке шаблонов Joomla
/** @var \Joomla\CMS\Application\CMSApplication $app */
$app = Factory::getApplication();
/** @var \Joomla\Input\Input $input */
$input = $app->getInput();
// Detecting Active Variables
$option = $input->get('option', '','');
$view = $input->get('view', '','');
$layout = $input->getCmd('layout', '');
$task = $input->getString('task', '');
$itemid = $input->getInt('Itemid', '');
В методе
$input->get() 2-й аргумент - это значение по умолчанию на случай, если данных не обнаружено. 3-й аргумент - параметры фильтрации данных - будьте с ним внимательны.Например, вы хотите получить данные, отправленные на ендпоинт в виде
JSON.stringify. $input->json->get('title', '', 'RAW')
// ИЛИ
$data = $input->json->getArray();Если вы уверены, что данные должны быть именно в
$_POST и нигде более, то получайте их именно оттуда$input->post->get('title', '', 'RAW')Подробнее в файле
libraries/vendor/joomla/input/src/Input.php#development #joomla #php #api #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🙏1
Forwarded from Joomla Feed (Sergey Tolkachyov)
Видео сессий JoomlaDay USA теперь на Youtube в открытом доступе
JoomlaDay - конференция фанатов Joomla и Joomla-разработчиков как для тех, кто только начинает осваиваться с движком, так и для профессионалов, проходящая во многих странах. Как правило участие в конференции платное, участники получают эксклюзивный доступ к материалам конференции. Организаторы JoomlaDay USA решили выложить в открытый доступ видео выступлений 2024 года.
Канал Jday USA - Videos на Youtube
JoomlaDay - конференция фанатов Joomla и Joomla-разработчиков как для тех, кто только начинает осваиваться с движком, так и для профессионалов, проходящая во многих странах. Как правило участие в конференции платное, участники получают эксклюзивный доступ к материалам конференции. Организаторы JoomlaDay USA решили выложить в открытый доступ видео выступлений 2024 года.
Канал Jday USA - Videos на Youtube
👍1
WT JoomShopping Bitrix24 PRO v.3.1.3
Плагин отправки заказов из интернет-магазина JoomShopping в CRM Битрикс24. Плагин передает лиды, сделки, создаёт контакты и повторные сделки. Обеспечивает смену статуса заказа в JoomShopping при изменении стадии сделки в Битрикс 24 (двухсторонняя интеграция).
Список изменений
- Улучшена поддержка Joomla 5. Проведен большой рефакторинг кода, подготавливающий плагин к повышению минимальных системных требований до Joomla 5 и PHP 8.1. Также удалены некоторые устаревшие методы.
- SubscriberInterface. Плагин полностью наследует SubscriberInterface
- Changelog url. Добавлен Changelog url, чтобы вы могли просмотреть список изменений в новой версии перед обновлением непосредственно в админ-панели Joomla....
Подробнее
#joomla #php #разработка #bitrix24 #битрикс24
Плагин отправки заказов из интернет-магазина JoomShopping в CRM Битрикс24. Плагин передает лиды, сделки, создаёт контакты и повторные сделки. Обеспечивает смену статуса заказа в JoomShopping при изменении стадии сделки в Битрикс 24 (двухсторонняя интеграция).
Список изменений
- Улучшена поддержка Joomla 5. Проведен большой рефакторинг кода, подготавливающий плагин к повышению минимальных системных требований до Joomla 5 и PHP 8.1. Также удалены некоторые устаревшие методы.
- SubscriberInterface. Плагин полностью наследует SubscriberInterface
- Changelog url. Добавлен Changelog url, чтобы вы могли просмотреть список изменений в новой версии перед обновлением непосредственно в админ-панели Joomla....
Подробнее
#joomla #php #разработка #bitrix24 #битрикс24
👍2🙏1
В продолжение предыдущего поста шпаргалка по тому, что вообще объект
Input в Joomla умеет.Свойства объекта Input:
- get - суперглобальный массив
$_GET- post - суперглобальный массив
$_POST- request - суперглобальный массив
$_REQUEST- server - суперглобальный массив
$_SERVER- env -
$_ENV, переменные окружения- files -
$_FILES, загруженные файлы- cookie - здесь собственно печеньки 🍪
- json - свойство для удобной работы с json-данными
Методы объекта Input:
Получаем значения с нужным нам типом данных:
- getInt - применяет фильтр Int, целое число
- getUint - применяет фильтр Uint, целое положительное число (
-1823 не получим)- getFloat - применяет фильтр Float, число с плавающей точкой, десятичная дробь
- getBool - применяет фильтр Bool, логическое
true / false- getWord - применяет фильтр Word, в значении только латинские буквы и нижнее подчеркивание
- getAlnum - alphanumeric string, сочетание букв и цифр. Полезно для токенов.
- getCmd - применяет фильтр Cmd к значению. Только латинские буквы, нижнее подчеркивание, тире и точка. Убирает ведущие точки.
- getBase64 - применяет фильтр Base64 к значению. Только латинские буквы, косая черта, знак плюса и знак равно.
- getString - применяет фильтр String к значению. Конвертирует в чистую строку, убирает все теги и атрибуты.
- getHtml - применяет фильтр Html к значению. Конвертирует в строку, убирает все HTML теги и атрибуты, кроме тех, что находятся в белом списке разрешенных тегов Joomla (в общих настройках Joomla)
- getPath - применяет фильтр Path к значению. Конвертирует в строку и валидирует как путь до папки или файла (например
path/to/file.png или path/to/dir). Не принимает абсолютный путь или путь, который заканчивается косой чертой.- getUsername - применяет фильтр Username к значению. Удаляет все невалидные для имени пользователя символы (
\x00, -, \x1F, \x7F, <, >, ", ', %, &)- getRaw - возвращает нефильтрованные данные. Небезопасно!
Получить несколько значений сразу
/** @var \Joomla\CMS\Application\CMSApplication $app */
$app = Factory::getApplication();
/** @var \Joomla\Input\Input $input */
$input = $app->getInput();
$data = $input->getArray();
#development #joomla #php #api #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
WebTolkRu
👩💻 Совет по Joomla: как получать данные из суперглобальных массивов $_POST, $_GET и других?
На основе данных из $_GET, $_POST порой строится логика работы кода начиная от шаблона Joomla и кончая модулями и плагинами. Для работы с этими данными используется…
На основе данных из $_GET, $_POST порой строится логика работы кода начиная от шаблона Joomla и кончая модулями и плагинами. Для работы с этими данными используется…
👍2
Лайфхак, который можно использовать, когда необходимо выполнить произвольный PHP-код в Joomla - это сделать свой макет для модуля HTML-код (
mod_custom). Удалить в нём всё, что предлагает Joomla и поместить свой код. В панели администратора же создать модуль, выбрать для него свой макет и... оно работает, но ещё дополнено функциональностью Joomla (привязка к пунктам меню, уровням доступа и языкам). И выводить можно где угодно: в модульной позиции или с помощью шорт-кодов
{loadmoduleid XXX} или {loadposition position_name}.#php #joomla #development #webdev #разработка #cookbook
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
При работе с кодом хорошим тоном разработки считается наглядность кода, которая обеспечивает лёгкость его восприятия. Обычно это называют "чистый, читаемый код". Согласитесь, понимать следующую запись не всегда бывает удобно:
echo '<a href="index.php?option='.$option.'&view='.$view.'&id='.$id.'" target="'.$target.'">'.$link_title.'</a>';
или пример из стандартного шаблона JoomShopping:
<a class="lightbox" id="main_image_full_<?php print $image->image_id?>" href="<?php print $this->image_product_path?>/<?php print $image->image_full;?>" <?php if ($k!=0){?>style="display:none"<?php }?> title="<?php print htmlspecialchars($image->img_title)?>">Наглядностью и лёгкостью чтения, к сожалению, и не пахнет.
В API Joomla есть довольно богатый инструмент - класс HTMLHelper. В нём довольно много полезных фич, приведу пример для рендера ссылок как самого простого элемента. Метод
HTMLHelper::link() принимает 3 аргумента:- $url - формируем его программно заранее и передаем как параметр
- $text - собственно текст ссылки. Это может быть любое HTML-содержимое: картинка, код и т.д. - как в вёрстке.
- $attribs - самые разные атрибуты ссылки:
class, target, onclick, кастомные data-атрибуты и т.д.Согласитесь, так гораздо нагляднее. И порядок в коде.
use Joomla\CMS\HTML\HTMLHelper;
$url = 'index.php?option=' . $option . '&view=' . $view . '&id=' . $id;
$link_title = HTMLHelper::image('images/headers/raindrops.jpg', 'Alt attrib for image');
$target = '_blank';
$linkAttribs = [
'target' => $target,
'class' => 'btn btn-primary',
'onclick' => 'alert(123);',
'data-link-id' => '4a5d7f6a455sf8',
];
echo HTMLHelper::link($url, $link_title, $linkAttribs);
Частично ознакомиться с методами класса HTMLHelper можно в файле
libraries/src/HTML/HTMLHelper.php.#joomla #php #development #разработка #html #cookbook
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🙏1
В состав Joomla Framework, вошедшего под капот Joomla 4+, входят некоторые компоненты Symfony, среди которых и VarDumper.
Соответственно в Joomla 4 / Joomla 5 можно использовать вместо
var_dump() следующее:use Webtolk\Cdekapi\Cdek;
$cdek = new Cdek();
$cities = $cdek->getLocationCities(['page'=>'1']);
dump($cities);
dd($cities);
dump() может показывать структуру массива/объекта сворачиваемыми уровнями.
dd() - это dump & die. После дампа дальнейшее выполнение кода остановится с помощью
exit().#joomla #development #php #разработка #symfony #cookbook
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🙏1
WT JoomShopping Schema.Org
Плагин добавляет на страницы товара и категории товара микроразметку Schema.org для категорий товаров, производителей и товаров JoomShopping в формате ld+json, что позволяет поисковым системам лучше понимать содержимое страницы, а так же использовать его для отображения расширенных результатов в поисковой выдаче и тем самым выделиться среди конкурентов.
Поддерживаются Joomla 3 (JoomShopping 4.18.x). Для Joomla 4 / Joomla 5 и JoomShopping 5.x рекомендуется версия плагина 2.0.0 и выше.
Подробнее
@webtolkru
#joomla #joomshopping #seo #микроразметка
Плагин добавляет на страницы товара и категории товара микроразметку Schema.org для категорий товаров, производителей и товаров JoomShopping в формате ld+json, что позволяет поисковым системам лучше понимать содержимое страницы, а так же использовать его для отображения расширенных результатов в поисковой выдаче и тем самым выделиться среди конкурентов.
Поддерживаются Joomla 3 (JoomShopping 4.18.x). Для Joomla 4 / Joomla 5 и JoomShopping 5.x рекомендуется версия плагина 2.0.0 и выше.
Подробнее
@webtolkru
#joomla #joomshopping #seo #микроразметка
👍3