Новости Joomla

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

Релиз безопасности Joomla 6.1.3 и Joomla 5.4.8

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

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

maxmaer

  • Захожу иногда
  • 73
  • 0 / 0
  • Молодой joomlaвод
Всем привет!
Столкнулся с проблемой изменения темы письма! Где вообще редактировать это всё? Может кто сталкивался с этим? очень прошу помощи!
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
ps_checkout.php
confirmation_email.tpl.php
russian.php
Не будь паразитом, сделай что-нибудь самостоятельно!
*

maxmaer

  • Захожу иногда
  • 73
  • 0 / 0
  • Молодой joomlaвод
russian.php С этим всё понятно.
confirmation_email.tpl.php Здесь вообще ничего не трогаем. Здесь редактируется исключительно тело письма (то что под темой)
ps_checkout.php Здесь самое интересное.

Есть строки:

// Email Addresses for shopper and vendor
      // **************************************
      $shopper_email = $dbbt->f("user_email");
      $shopper_name = $dbbt->f("first_name")." ".$dbbt->f("last_name");

      $from_email = $dbv->f("contact_email");

      $shopper_subject = $dbv->f(""). " ".$VM_LANG->_('PHPSHOP_INFO_MSG_NEW ORDER',false)." ".$VM_LANG->_('PHPSHOP_INFO_MSG_SHIPPING_PRIC',false).
                $vendor_subject = $dbv->f(""). " ".$VM_LANG->_('PHPSHOP_INFO_MSG_CARRIER',false)." ".$VM_LANG->_('PHPSHOP_INFO_MSG_SHIPPING_PRIC',false).

      $shopper_order_link = $sess->url( SECUREURL ."index.php?page=account.order_details&order_id=$order_id", true, false );
      $vendor_order_link = $sess->url( SECUREURL ."index2.php?page=order.order_print&order_id=$order_id&pshop_mode=admin", true, false );

$shopper_subject = $dbv->f(""). " ".$VM_LANG->_('PHPSHOP_INFO_MSG_NEW ORDER',false)." ".$VM_LANG->_('PHPSHOP_INFO_MSG_SHIPPING_PRIC',false). - Это тема письма покупателю, её мы не трогаем.

$vendor_subject = $dbv->f(""). " ".$VM_LANG->_('PHPSHOP_INFO_MSG_CARRIER',false)." ".$VM_LANG->_('PHPSHOP_INFO_MSG_SHIPPING_PRIC',false).  - А это наш заголовок в теме. Как не радактирую его ничего не получается + задваивается почему-то.
Сейчас тема такая: Тема:Информация о покупке Новое сообщениеИнформация о покупке Новое сообщение

Вообще ума не приложу почему задваивается и когда пытаюсь вставить переменную которая указывает метод доставки то она вообще пустая получается. Не выводится ничего. Вставляю просто 'PHPSHOP_INFO_MSG_SHIPPING_METHOD'

Может руки не оттуда?(
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Когда клиент потвердил свой заказ (покупку), ps_checkout.php генерирует два практически одинаковых письма, одно - shopper (заказчику, покупателю...), другое - vendor (производителю, продавцу, админу магазина...). Различия между этими письмами - обращение, адрес, ссылки..., вы их видите с префиксом shopper_ либо vendor_.
Так что тут ничего сложного не должно быть. Если заголовок задваивается, значит он так задан в коде, получше ищите. Проверьте в confirmation_email.tpl.php тоже, мало ли, у меня правда он неиграет никакой роли.
И по-моему, ваш ps_checkout.php уже хакали. Что это за пустой запрос
$shopper_subject = $dbv->f("").
$shopper_subject у вас выдает "Новое сообщение о покупке + Стоимость доставки", а $vendor_subject: "Способ доставки + Стоимость доставки", если вы не меняли russian.php.
И должно быть "PHPSHOP_INFO_MSG_SHIPPING_PRICE", нет?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

maxmaer

  • Захожу иногда
  • 73
  • 0 / 0
  • Молодой joomlaвод
Да. Я его сам хакал, но не сильно  ;)

Всего лишь изменил пару вечещей. В том числе убрал вывод названия магазина, т.к. люди и так знаю с кем они работают. Но это всё мелочи.

Хотелось бы больше конкретики. И ещё. То что генерируется два одинаковых пиьсма это известно, но я разделил это. Сделал отдельное письмо для клиента (в хтмл), а отдельное для админа (в тексте).

И никак не пойму, где ещё генерится может тема. Поиск ничего не даёт и логика тоже...

P.S. Шаблоны писем содержат лишь тело самого письма без темы.
*

maxmaer

  • Захожу иногда
  • 73
  • 0 / 0
  • Молодой joomlaвод
Решил вопрос.

Закоментил строку ниже

2316   //$headers = "Subject: " . $vendor_subject . "\r\n";

Она отвечает за формирования темы в двух пиьсмах, там же рядом нашёл переменную выводящую ту коннектикацию которая формируется для пиьсма покупателя.

Но отсалься вопрос. Как вставить в тему информацию о доставке. Простая вставки $shipping_method не прокатывает. Выдаёт ссылку на страницу которая создаётся в самом конце оформления заказа.
*

maxmaer

  • Захожу иногда
  • 73
  • 0 / 0
  • Молодой joomlaвод
Цитировать
Как вставить в тему информацию о доставке. Простая вставки $shipping_method не прокатывает. Выдаёт ссылку на страницу которая создаётся в самом конце оформления заказа.

Что, никто не поможет?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Что, никто не поможет?
Какая инфо о доставке нужна? Она уже есть в теле письма, нет?
Код
$shipping_arr = explode("|", urldecode(vmGet($_REQUEST,"shipping_rate_id")) );
$shopper_message .= $VM_LANG->_('PHPSHOP_ORDER_PRINT_SHIPPING_LBL',false).":\n";
$shopper_message .= $shipping_arr[1]." (".$shipping_arr[2].")";
Не будь паразитом, сделай что-нибудь самостоятельно!
*

maxmaer

  • Захожу иногда
  • 73
  • 0 / 0
  • Молодой joomlaвод
Есть уже... Я прописал эти функции просто в тело письма и они работают.
Информация о доставке: <?php print $order_shipping ?> <?php echo $shipping_info_details ?>

А если и вставить в заголовок письма, то пусто, будто ничего не несут...


Цитировать
Какая инфо о доставке нужна? Она уже есть в теле письма, нет?

Нужно просто указать тип доставки, почтой или курером, но у меня их четрые, поэтому если один тип заработает то и все тоже.
*

maxmaer

  • Захожу иногда
  • 73
  • 0 / 0
  • Молодой joomlaвод
Могу скинуть ps_checkout.php
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Могу скинуть ps_checkout.php
Давай, скинь.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

maxmaer

  • Захожу иногда
  • 73
  • 0 / 0
  • Молодой joomlaвод
Может дай мыло?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
В личке. Вечером посмотрю.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

maxmaer

  • Захожу иногда
  • 73
  • 0 / 0
  • Молодой joomlaвод
Усё. Неяк здолеу!)

В общем фишка вот в чём:

$vendor_subject = $dbv->f(""). " ".$VM_LANG->_('PHPSHOP_INFO_MSG_NEW ORDER2',false)." - № " . $db->f("order_id"). " ".$VM_LANG->_('PHPSHOP_INFO_MSG_CARRIER',false). ":". $db->f(""). " ".$order_shipping = $db->f("shipping_info_details"). " ". $shipping_arr[1];

Это код который отвечает за вывод темы в письме которе уходит конкретно админу, сделать такое же для пиьсма клиенту просто.

Что бы в заголовке темы отображалась инфа о доставке прописываем функцию вывод из базы $shipping_arr[1]
[1] - отвечает за столбик где прописаны наши способы доставки - $shipping_info_details если проще.

Может кому полезно будет!
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Слишком много мусора. Вот так, наверное:
$vendor_subject = $VM_LANG->_('PHPSHOP_INFO_MSG_NEW ORDER2',false)." - № " . $db->f("order_id"). " ".$VM_LANG->_('PHPSHOP_INFO_MSG_CARRIER',false). ": ". $shipping_arr[1];
А про $shipping_arr я уже говорил
Она уже есть в теле письма, нет?
Код
$shipping_arr = explode("|", urldecode(vmGet($_REQUEST,"shipping_rate_id")) );
$shopper_message .= $VM_LANG->_('PHPSHOP_ORDER_PRINT_SHIPPING_LBL',false).":\n";
$shopper_message .= $shipping_arr[1]." (".$shipping_arr[2].")";
Не будь паразитом, сделай что-нибудь самостоятельно!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться