Новости Joomla

👩‍💻 WT CDEK library v.1.3.0 - обновление PHP SDK для Joomla + CDEK.

👩‍💻 WT CDEK library v.1.3.0 - обновление PHP SDK для Joomla + CDEK.

Небольшая нативная PHP Joomla библиотека для работы с API v.2 службы доставки CDEK. Библиотека представляет собой клиент для авторизации в CDEK API по OAuth, работы с некоторыми методами API: получения ряда данных и расчета стоимости доставки. Поддерживается Joomla 4.2.7 и выше.

В пакет входят:
- библиотека Webtolk/Cdekapi
- системный плагин System - WT Cdek для хранения настроек и AJAX-интеграций
- task-плагин Task - Update WT Cdek data для обновления локальных копий справочников CDEK по расписанию
- web asset с официальным JavaScript-виджетом СДЭК

👉 v.1.3.0. Что нового?
- Полный рефакторинг библиотеки. Библиотека переработана в entity-based API с фасадом Cdek и отдельным слоем запросов. Обратная совместимость не нарушена, поэтому версия библиотеки - 1.3.0.
- Добавлена поддержка новых разделов API СДЭК. Добавлена поддержка новых разделов API СДЭК: webhooks, prealert, печатные формы, payment, passport, reverse, intakes и других сущностей.
- Улучшена интеграция с Joomla.
Улучшена интеграция с Joomla: installer script для layouts, новые поля Joomla Form для тарифов и обновлённые js виджета CDEK.
- документация библиотеки. Все методы библиотеки подробно описаны, а так же текст документации собран в отдельной папке в git репозитории и будет опубликован на сайте.

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

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

@joomlafeed

0 Пользователей и 1 Гость просматривают эту тему.
  • 4 Ответов
  • 1227 Просмотров
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Всем доброго дня. Наткнулся на грабли...

Реализовываю (все еще) фильтрацию товара по свойствам. Для этого есть вид компонента, который читает входящие параметры jinput или принимает из меню id-набора предварительных настроек и после обработки выводит листинг товара.

Загвоздка встала в pagination. На любой странице отличной от 1 набор настроек фильтра не учитывается. Т.е. данные из формы модуля не попадают в обработку. Почему так мне понятно.

Вопрос такой как правильно это решить?

Варианты:
  • Обработку всех входящих параметров прогонять не через State, а через userState по приходу jinput limit и limitstart не производить обработку, а брать ее из userState
  • Как-то закинуть данные формы при нажатии на кнопку страницы

Первый вариант мне видится более удобным. Скажите ваше мнение.

А еще посоветуйте что-то почитать про обычный State, с ним у меня бывают непонятки. Например, почему в populateState конструкция $this->getState('aaa'); не работает?
*

mardok

  • Новичок
  • 5
  • 0 / 0
Добрый день.
Столкнулся с такой же проблемой. Как правильно настроить фильтр по заданному набору параметров? Возможно ли настроить для всех страниц одинаково или нужно делать для каждой страницы отдельно? Если возможно, подскажите как это прописать?
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Добрый день.
Столкнулся с такой же проблемой. Как правильно настроить фильтр по заданному набору параметров? Возможно ли настроить для всех страниц одинаково или нужно делать для каждой страницы отдельно? Если возможно, подскажите как это прописать?
Не могу сказать, что именно у вас... Я пишу свой фильтр. И сейчас решение с UserState мне помогло.
А именно, я проверяю пришли ли параметры limitstart и если пришли, то все читаю параметры из сессии, которые были установлены ранее (на предыдущей странице). Осталось решить вопрос захода сразу на не первую страницу. Если что-то конкретное спросите, скажу как это у меня.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
почему в populateState конструкция $this->getState('aaa'); не работает?
Потому что неправильно делать разную фигню в populateState, я вам об этом уже говорил. Вы еще рискуете попасть в бесконечный цикл, если populateState еще не был вызван. Задача populateState - заполнять параметры значениями. В нем можно делать getUserState или getUserStateFromRequest (кстати, очень полезная вещь), но никак не getState.
Возможно ли настроить для всех страниц одинаково или нужно делать для каждой страницы отдельно?
Это уж как вы сами решите. UserState - на уровне сессии, оно доступно везде. State - на уровне модели, в нем вы храните всю фигню только для данной модели, в т.ч. limit и start.

P.S. Используйте еще getStoreId в паре с setState/populateState.
« Последнее редактирование: 28.01.2020, 17:38:30 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

mardok

  • Новичок
  • 5
  • 0 / 0
Спасибо. С UserState все получилось. Действительно, если его использовать, то фильтр работает. Буду разбираться дальше.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Счётчик полей в админке модуля

Автор zeus07

Ответов: 9
Просмотров: 1300
Последний ответ 28.06.2021, 13:40:31
от zeus07
Создание компонента для табеля рабочего времени

Автор sashahz

Ответов: 7
Просмотров: 1143
Последний ответ 12.04.2021, 11:12:11
от sashahz
Вызов формы компонента в pop-up, при клике по ссылке из любого места

Автор SkyAn

Ответов: 1
Просмотров: 973
Последний ответ 01.03.2021, 04:08:48
от gartes
Документация по разработки компонента для Joomla 3.x

Автор Aspik

Ответов: 9
Просмотров: 3731
Последний ответ 23.01.2021, 07:55:56
от hmr
Сборка инсталятора компонента файлами из разных папок с привлечением github

Автор borro

Ответов: 1
Просмотров: 1007
Последний ответ 25.12.2020, 21:21:30
от platonische