Новости Joomla

👩‍💻 WT Otpravkapochtaru - библиотека сервиса Отправка Почты России для Joomla-разработчиков.

👩‍💻 WT Otpravkapochtaru - библиотека сервиса Отправка Почты России для Joomla-разработчиков.

Joomla 5+ пакет для интеграции с API Почты России: нормализация данных, расчёт доставки, создание отправлений, партии, документы, возвраты, поиск отделений, справочники и SOAP-отслеживание.

v.3.0.0. Что нового?
Это дальнейшее развитие ранее закрытой Joomla-библиотеки для работы с API сервиса Отправка (для бизнеса) Почты России. Поэтому версия не 1.0.0, а 3.0.0.

Сейчас эта библиотека ушла от собственных реализаций и стала Joomla-обёрткой известного PHP SDK от Lapay Group.

Возможности библиотеки.
- получение настроек аккаунта, точек сдачи и текущего остатка запросов к API;
- нормализация адресов, ФИО и телефонов перед созданием отправления;
- расчёт тарифа и срока доставки;
- создание, поиск, изменение, удаление и возврат заказов в состояние «Новые»;
- проверка надёжности получателя;
- создание партий, просмотр партий и заказов внутри партии;
- генерация пакета печатных документов и формы Ф103;
- создание, изменение и удаление возвратных отправлений;
- поиск отделений по индексу, адресу и координатам, получение сервисов отделения;
- локальный список стран;
- SOAP-отслеживание операций по РПО и работа с билетами пакетного трекинга.

👩‍💻 Joomla-возможности.
В пакете библиотеки WT Otpravkapochtaru есть поля Joomla Form для расширений. Они позволяют работать в интерфейсе Joomla с некоторыми типами данных, получаемых по API из вашего личного кабинета в ЛК Почты России для бизнеса.
На данный момент в библиотеке доступны 3 поля списков, которые отображают доступные в аккаунте ОПС, типы и категории отправлений.
Поддерживаются зависимые списки: значение одного поля обновляется при изменении другого.

Системные требования.
Системные требования в основном связаны с системными требованиями апстрима библиотеки - LapayGroup PHP SDK.
- Joomla 5+
- PHP 8.3+
- Расширения PHP:
-- ext-mbstring
-- ext-simplexml
-- ext-soap (опционально, для трекинга)
-- ext-zip

Ссылки:
- Страница расширения
- GitHub библиотеки и документация

@joomlafeed

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

niggatub

  • Захожу иногда
  • 205
  • 2 / 3
Есть товары с одинаковым названием, но в разных категориях.
Как в confirmation_email.tpl.php прописать перед названием категорию подскажите.
Вобщем то там вроде все ясно.
в
Код
<td><?php $dboi->p("product_name")?> <?php echo ($dboi->f("product_attribute")? ' ('.$dboi->f("product_attribute").')' : ''); ?></td>
перед <?php $dboi->p("product_name")?> нужно прописать что то типа такого <?php $dboi->p("category_name")?>
В PHP не особо силен, подсобите пожалуйста :)
« Последнее редактирование: 14.05.2012, 16:46:48 от niggatub »
*

niggatub

  • Захожу иногда
  • 205
  • 2 / 3
Чет не все так просто оказалось.
Кто нибудь реализовывал?:)
*

niggatub

  • Захожу иногда
  • 205
  • 2 / 3
Сделал сам. За основу взял решение от Beagler'a с его (как я понял) блога. Да украсится его путь лепестками лотоса :)
Итак. В файле  \administrator\components\com_virtuemart\classes\ps_checkout.php ищем следующий код:
Код
$q_oi = "SELECT * FROM #__{vm}_product, #__{vm}_order_item, #__{vm}_orders ";
$q_oi .= "WHERE #__{vm}_product.product_id=#__{vm}_order_item.product_id ";
$q_oi .= "AND #__{vm}_order_item.order_id='$order_id' ";
$q_oi .= "AND #__{vm}_orders.order_id=#__{vm}_order_item.order_id ";
Меняем его на этот:
Код
$q_oi = "SELECT * FROM #__{vm}_product, #__{vm}_order_item, #__{vm}_orders, #__{vm}_category, #__{vm}_product_category_xref ";
$q_oi .= "WHERE #__{vm}_product.product_id=#__{vm}_order_item.product_id ";
$q_oi .= "AND #__{vm}_order_item.order_id='$order_id' ";
$q_oi .= "AND #__{vm}_orders.order_id=#__{vm}_order_item.order_id ";
$q_oi .= "AND #__{vm}_category.category_id=#__{vm}_product_category_xref.category_id ";
$q_oi .= "AND #__{vm}_product.product_id=#__{vm}_product_category_xref.product_id ";
Сохраняем. Закрываем.
Далее берем шаблон письма с уведомлением. Лежит тут - \components\com_virtuemart\themes\ВАША_ТЕМА\templates\order_emails\confirmation_email.tpl.php
Насчет номера строки ориентировочно сказать не могу, мой уже перелопачен от и до, а дефолтный влом смотреть. Вобщем ищем строку
Код
<td><?php $dboi->p("product_name")?> <?php echo ($dboi->f("product_attribute")? ' ('.$dboi->f("product_attribute").')' : ''); ?></td>
И заменяем ее на:
Код
<td><?php $dboi->p("product_name")?> <?php echo ($dboi->f("product_attribute")? ' ('.$dboi->f("product_attribute").')' : ''); ?><br/><?php $dboi->p("category_name")?> </td>
Сохраняем. Закрываем.
Вот и все:)
По поводу изменения шаблона письма - дело вкуса. в этом варианте категория будет выводиться сразу под названием товара. Можете сделать ее в отдельном <td> с заголовком "Категория" - с этим я думаю проблем не возникнет, нужно просто немного поправить табличку :)
*

FlahsAxel

  • Захожу иногда
  • 210
  • 0 / 0
Доброе время суток всем.

Код работает. Однако! Решение не полное!
Если товар указан в нескольких категориях - он дублируется в заказе, столько раз, в скольких категориях этот товар присутствует. Кратно повторяется количество и цена!
- Товар 1                                             Цена
     Категория А
- Товар 1                                             Цена
     Категория В
Цена вычисляется дважды:
   Промежуточный итог - складывает все повторы.
   Итого: правильная сумма, без дублей повторов.
Как оставить в заказе обе категории, но без дублирования товара, а категории - просто перечислением?
Прописать условие, подскажите.
*

FlahsAxel

  • Захожу иногда
  • 210
  • 0 / 0
Доброе время суток всем.

Уважаемый beagler, подскажите пожалуйста конкретнее, как это сделать?
Не хватает знаний.

LEFT JOIN.
Суть понял, не знаю - как правильно код встроить в ps_checkout.php
SELECT ProductName, CategoryName FROM Products LEFT JOIN Categories ON Products.CategoryID = Categories.CategoryID
Код
SELECT t1.key1, 
       t1.field1 as Name,
       t1.key2 as T1Key,
       t2.key2 as T2Key,
       t2.field1 as City
  FROM Table1 t1 LEFT JOIN Table2 t2 ON t1.key2 = t2.key2 ;

Обязательно нужно получить (перечислить) все Категории товара, в которых он присутствует.
На англоязычном forum.virtuemart.net форуме, решения то же нет, к сожалению.

Сейчас получаем:
- Товар 1                                             Цена
     Категория А
- Товар 1                                             Цена
     Категория В

Нужно получить:
- Товар 1                                             Цена
     Категория А
     Категория В
« Последнее редактирование: 14.07.2015, 02:44:46 от FlahsAxel »
*

FlahsAxel

  • Захожу иногда
  • 210
  • 0 / 0
Доброе время суток всем.
если Вам нужны ВСЕ категории товара - то только отдельным запросом по каждому товару.
Я это понимаю, только не могу правильно написать код.
beagler
Подскажите, как сделать? Сам код, и где его вставить?
Полезная опция - категория в заказе. Странно, что мало интересующихся.

Хотя бы, просто убрать дубли, получить в заказе ту Категорию, в которой выбран товар:
- Товар 1                                             Цена
     Категория А
ИЛИ
- Товар 1                                             Цена
     Категория В

если сложно сделать:
- Товар 1                                             Цена
     Категория А
     Категория В
« Последнее редактирование: 14.07.2015, 11:39:23 от FlahsAxel »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Уведомление на 2 почтовых ящика при заказе товара.

Автор M.Imperator

Ответов: 35
Просмотров: 28167
Последний ответ 10.07.2019, 17:43:33
от hmr
При заказе не отправляются письма на электронную почту

Автор vsokol

Ответов: 5
Просмотров: 5403
Последний ответ 29.05.2016, 07:17:31
от vsokol
Прикрепить файлы в письмо с уведомлением о заказе

Автор sashgera

Ответов: 0
Просмотров: 4844
Последний ответ 16.05.2016, 14:18:32
от sashgera
[Решено] Изображение и ссылка на товар в теле письма о заказе

Автор zmancer

Ответов: 18
Просмотров: 13397
Последний ответ 11.03.2016, 22:28:28
от Pustota
Пакетное управление товарными позициями в заказе

Автор sleshiy

Ответов: 0
Просмотров: 4670
Последний ответ 21.10.2014, 15:37:37
от sleshiy