Новости Joomla

Вышли релизы безопасности Joomla 6.0.4 и Joomla 5.4.4

Релиз безопасности Joomla 6.0.4 и Joomla 5.4.4

Проект Joomla! рад сообщить о выходе Joomla 6.0.4 и Joomla 5.4.4. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

👩‍💻 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 Гость просматривают эту тему.
  • 8 Ответов
  • 2485 Просмотров
*

dmitran

  • Новичок
  • 6
  • 0 / 0
Ошибки в пагинации
« : 27.11.2024, 12:52:42 »
В случаях, когда у пользователя много объявлений у меня некорректно работает пагинация на странице автора объявлений http://localhost/component/djclassifieds/profile/55 : в ссылках на следующие страницы списка объявлений отсутствует id автора и получается вместо http://localhost/profile/,55?start=12 некорректная ссылка http://localhost/profile?layout=blog&start=12, при переходе на которую либо просит войти, либо, если вошел, открывается мой собственный профиль, а не профиль автора с ID=55.
Версия компонента 3.10.1
Joomla 5.2.1.
Может какой пункт меню надо создать или это глюк Joomla/компонента?
*

sivers

  • Живу я здесь
  • 2606
  • 361 / 0
Re: Ошибки в пагинации
« Ответ #1 : 27.11.2024, 14:22:26 »
Каким параметром передается ИД автора (в неотсефенной ссылке). Посмотреть можно, если отключить чпу.

Есть вероятность, что у вас проявилась вот эта проблема:
Спойлер
[свернуть]
« Последнее редактирование: 27.11.2024, 14:25:33 от sivers »
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

dmitran

  • Новичок
  • 6
  • 0 / 0
Re: Ошибки в пагинации
« Ответ #2 : 27.11.2024, 23:04:48 »
Вошел на страницу пользователя: https://localhost/?option=com_djclassifieds&view=profile&Itemid=127&uid=55:nina
Ссылка на следующую страницу в пагинации: https://localhost/index.php?option=com_djclassifieds&view=profile&Itemid=127&limitstart=18 , то есть, ID пользователя отсутствует.
Спасибо за ссылку, теперь понятно.
Наверное, мне проще будет развернуть на более ранней версии Joomla, чтобы не творить то, чего не умею )
Остается надеяться, что разработчик выпустит новую версию с исправлением ситуации.
DJ-Catalog для пятерки уже, судя по инфо на сайте, корректно должен работать
*

dmitran

  • Новичок
  • 6
  • 0 / 0
Re: Ошибки в пагинации
« Ответ #3 : 28.11.2024, 10:20:45 »
В файл localhost\libraries\src\Pagination\Pagination.php
добавил строчку
     * @since  5.2.0
     */
    protected $paramsFromRequest = [
        'format'        => 'CMD',
        'option'        => 'CMD',
        'controller'    => 'CMD',
        'view'          => 'CMD',
        'layout'        => 'STRING',
        'task'          => 'CMD',
        'template'      => 'CMD',
        'templateStyle' => 'INT',
        'tmpl'          => 'CMD',
        'tpl'           => 'CMD',
        'id'            => 'STRING',
        'Itemid'        => 'INT',
   'uid'            => 'INT',
    ];


теперь работает
*

sivers

  • Живу я здесь
  • 2606
  • 361 / 0
Re: Ошибки в пагинации
« Ответ #4 : 28.11.2024, 11:37:25 »
Следующее обновление Joomla затрет эту правку. Правильнее было бы добавить строчку во вьюху проблемного компонента.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

dmitran

  • Новичок
  • 6
  • 0 / 0
Re: Ошибки в пагинации
« Ответ #5 : 28.11.2024, 13:13:32 »
Да, Вы правы. Так и сделаю. Буду искать, как правильно оформить строку в файлах view
*

sivers

  • Живу я здесь
  • 2606
  • 361 / 0
Re: Ошибки в пагинации
« Ответ #6 : 28.11.2024, 15:08:28 »
Найдите где создается объект пагинации. Что-то вроде такого:
Код
$this->pagination = new Pagination($total, $limitstart, $limit);
После этой строки допишите:
Код
$this->pagination->setAdditionalUrlParam('uid', $uidValue);
$uidValue - это значение параметра uid, его можно прочитать через $app->input или через $this->state во вьюхе - там поищите его значение.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

dmitran

  • Новичок
  • 6
  • 0 / 0
Re: Ошибки в пагинации
« Ответ #7 : 02.12.2024, 13:21:36 »
Большое спасибо!
Судя по
Код
$uid = $app->input->getInt('uid', 0);
параметром $uidValue надо указывать $uid , но при добавлении строки
Код
$this->pagination->setAdditionalUrlParam('uid', $user->id);
или
Код
$this->pagination->setAdditionalUrlParam('uid', $uid);
при попытке посмотреть страницу профиля автора вылетает ошибка "ERROR 0 - Call to a member function setAdditionalUrlParam() on null in..."

Ради эксперимента добавил строку
Код
echo $uid;
на странице отобразился тот самый id пользователя
*

sivers

  • Живу я здесь
  • 2606
  • 361 / 0
Re: Ошибки в пагинации
« Ответ #8 : 02.12.2024, 13:24:30 »
Похоже, что в месте вызова у вас $this->pagination не инициализирован. можно попробовать добавление этой строки не во вьюхе, а в макете перед выводом пагинации непосредственно
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться