Новости 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 Гость просматривают эту тему.
  • 6 Ответов
  • 4367 Просмотров
*

Roman Petrenko

  • Захожу иногда
  • 438
  • 61 / 0
  • Дизайн без секретов
Здравствуйте.

Использую Joomla 1.6.3

Возникла необходимость использовать информацию из профиля пользователя для связи с другой базой данных.
Есть интересная функция JUserHelper::getProfile(), которая вытягивает всю информацию из профиля пользователя. Насколько понял ID пользователя можно прямо задавать в функции или она сама определит по залогиненному пользователю. Пытаюсь использовать так:
Код
jimport( 'joomla.user.helper' );
$profile =JUserHelper::getProfile();
На этом этапе все работает вроде-бы. Но вот каких-либо дальнейших конструкций типа
Код
echo $profile->get('profile.favoritebook');
echo $profile->profile.favoritebook;
не нахожу нигде в документации и как работать с вытянутой информацией не понятно.

Кто знает подскажите, пожалуйста куда копать?
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
А по моему JUserHelper::getProfile() возвращает уже готовый объект и данные сразу будут доступны через $profile->prepertyname.

UPDATE:
Я не прав. Чего-то JUserHelper::getProfile() возвращает пустой объект...
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Можно брать напрямую данные из БД и работай с ними
Код
$user = JFactory::getUser();
$db = JFactory::getDbo();
$db->setQuery(
' SELECT profile_key, profile_value FROM #__user_profiles' .
' WHERE user_id = '. (int) $user->id." AND profile_key LIKE 'profile.%'" .
' ORDER BY ordering');
$results = $db->loadRowList();
var_dump($results);

UPDATE:
Я не прав. Чего-то JUserHelper::getProfile() возвращает пустой объект...
а с чего он будет возвращать не пустой объект?
Код
JUserHelper::getProfile($userId = 0)
:)
« Последнее редактирование: 30.05.2011, 15:01:41 от SmokerMan »
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
а с чего он будет возвращать не пустой объект?
Код
JUserHelper::getProfile($userId = 0)
:)
Не подкалывай ;) Если юзер залогинен, то нет:

Код
if ($userId == 0) {
$user = JFactory::getUser();
$userId = $user->id;
}
else {
$user = JFactory::getUser((int) $userId);
}
:P
*

Roman Petrenko

  • Захожу иногда
  • 438
  • 61 / 0
  • Дизайн без секретов
Оказалось эта функция еще не доработана. Действительно обошелся прямым запросом

Код
$dba = &JFactory::getDBO();
$dba->setQuery(
'SELECT profile_value FROM #__user_profiles' .
' WHERE user_id = '.(int) $usid." AND profile_key LIKE 'profile.favoritebook'" .
' ORDER BY ordering'
);
echo $dba->loadResult();

Немного другой, чем предложил SmokerMan, но тоже работает.

Хотя, конечно, хотелось бы использовать специально предназначенную функцию. ^-^
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Не подкалывай ;) Если юзер залогинен, то нет:
ну видимо да, сам метод не смотрел, глянул только на название :)
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как получить название статьи в методе onContentPrepare?

Автор websiller

Ответов: 8
Просмотров: 1674
Последний ответ 16.06.2015, 18:49:34
от websiller
[Решено] Программная регистрация пользователя во внешней бд

Автор DimkaJack

Ответов: 8
Просмотров: 2391
Последний ответ 06.08.2014, 18:32:39
от DimkaJack
Как в XML Manifest files получить список всех пунктов меню ?

Автор mainet

Ответов: 6
Просмотров: 2166
Последний ответ 08.04.2014, 13:49:24
от fsv
Как в плагине получить url страницы ?

Автор mainet

Ответов: 1
Просмотров: 1312
Последний ответ 27.10.2013, 18:43:03
от Aleks.Denezh
Как получить вывод HTML-кода сайта до вывода в браузер?

Автор mailambrella

Ответов: 2
Просмотров: 2363
Последний ответ 25.05.2013, 19:32:51
от Fedor Vlasenko