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

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
если везде выходит, а в письме нет, то проверяй письмо:
Цитировать
<tr class="Stil1">
          <td colspan=4 align=right><?php echo $VM_LANG->_('TIT')?> :</td>
          <td><?php
       
        $sconto = $db->f("sconto");
         if ($sconto != 0) {
               echo "- ".$CURRENCY_DISPLAY->getFullValue( $sconto, '', $db->f('order_currency'));}
            else echo $VM_LANG->_('NON_APP');?>
         </td>
        </tr>
на кройняк посмотри мой tpl

[вложение удалено Администратором]
*

kunev

  • Захожу иногда
  • 118
  • 0 / 0
Дружище skyscraper, пасибо что отозвался! Пробовал заменить твой файл у себя (вирт 1.1.4), ничиге не помогло, потом решил просто изменить на приведённый кусок в коде, аналогично не меняет. Вся загвоздка в переменной $order_total которая после подтверждения заказа остаётся без скидки, почему так непонятно.
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
если order выводит попробуй примитивно в ручную просчитать, у тебя много скидок?
впиши перед таблицей <tr><td> этот код, только измени для себя сумму и проценты (у меня сделано под 2% от 2000 и 3% после 3000, можешь размножить больше):
Цитировать
<?php           
$total=$db->f("order_subtotal");
/*sconto sul totale plus mod inizio*/
if ( $total <2000 ){
$total1 = 0;   }
else if ( $total >1999 && $total <3000 ) {   
$total1 = round($total*0.02,0);
$order_total1 = $total - $total1;
}
else if ( $total >2999) {   
$total1 = round($total*0.03,0);
$order_total1 = $total - $total1;
}
?>

и где будет идти вывод например так:
Цитировать
<tr>
            <td align="right" colspan="7"><strong><?php echo $VM_LANG->_('TIT')?>:</strong></td>
            <td width="10%" align="right" style="padding-right: 5px;"><strong><?php echo $GLOBALS['CURRENCY_DISPLAY']->getFullValue($total1, '', $db->f('order_currency')); ?></strong>
              </td>
           </tr>
            
                <tr>
            <td align="right" colspan="7"><strong><?php echo $VM_LANG->_('PHPSHOP_CART_TOTAL')?>:</strong></td>
            <td width="10%" align="right" style="padding-right: 5px;"><strong><?php echo $CURRENCY_DISPLAY->getFullValue($db->f("order_total1"), '', $db->f('order_currency')); ?></strong>
              </td>
           </tr>
« Последнее редактирование: 16.03.2011, 09:53:24 от skyscraper »
*

kunev

  • Захожу иногда
  • 118
  • 0 / 0
Спасибо Вечером опробую, я вкомандировке :) +1
*

kunev

  • Захожу иногда
  • 118
  • 0 / 0
skyscraper, собственно после вставки приведённого кода confirmation_email.tpl.php в перед

<tr class="Stil1">
          <td colspan=4 align=right><b><font color="red"><?php echo $VM_LANG->_('PHPSHOP_CART_TOTAL').": " ?></font></b></td>
          <td><?php echo '<font color="red">'.$order_total.'</font>' ?><?php echo '<font color="red">'.$total.'</font>' ?></td>
        </tr>

в письме выдало

:
0.00 грн
Итого:
0.00

 :o
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
а что у тебя с $order_subtotal
попробуй в любом месте вывести <?php echo $db->f("order_subtotal");?>
если они у тебя не работают (order_total и order_subtotal), то у тебя что-то не так в классах вирта ps_? начни с того что подгружает confirmation, где считаются orderы, потом может до базы докопаешь х3  ^-^
« Последнее редактирование: 18.03.2011, 10:11:18 от skyscraper »
*

kunev

  • Захожу иногда
  • 118
  • 0 / 0
ссори что не отвечал, хостер сайт переносил на другой сервак. <?php echo $db->f("order_subtotal");?> не отобразил  :(
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
значит проверяй ps_checkout.php
в конце вывод идет?
Цитировать
$template->set_vars(array(
                                          'is_email_to_shopper' => true,
                                          'db' => $db,
                                          'dboi' => $dboi,
                                          'dbbt' => $dbbt,
                                          'dbst' => $dbst,
                                          'ps_product' => $ps_product,
                                          'shippingfields' => $shippingfields,
                                          'registrationfields' => $registrationfields,
                                          'order_id' => $order_id,
                                          'order_discount' => $order_discount,
                                          'order_discount_lbl' => $order_discount_lbl,
                                          'order_discount_plusminus' => $order_discount_plusminus,         
                                          'coupon_discount' => $coupon_discount,
                                          'coupon_discount_lbl' => $coupon_discount_lbl,
                                          'coupon_discount_plusminus' => $coupon_discount_plusminus,
                                          'order_date' => $VM_LANG->convert( vmFormatDate($db->f("cdate"), $VM_LANG->_('DATE_FORMAT_LC') )),
                                          'order_status' => $order_status,
                                          'legal_info_title' => $legal_info_title,
                                          'legal_info_html' => $legal_info_html,
                                          'order_link' => $shopper_order_link,
         
                                          'payment_info_lbl' => $VM_LANG->_('PHPSHOP_ORDER_PRINT_PAYINFO_LBL'),
                                          'payment_info_details' => $payment_info_details,
                                          'shipping_info_lbl' => $VM_LANG->_('PHPSHOP_ORDER_PRINT_SHIPPING_LBL'),
                                          'shipping_info_details' => $shipping_info_details,
         
                                          'from_email' => $from_email,
                                          'customer_note' => nl2br($customer_note),
                                          'order_header_msg' => $shopper_header,
         
                                          'order_subtotal' => $CURRENCY_DISPLAY->getFullValue($sub_total, '', $db->f('order_currency')),
                                          'order_shipping' => $CURRENCY_DISPLAY->getFullValue($order_shipping, '', $db->f('order_currency')),
                                          'order_tax' => $CURRENCY_DISPLAY->getFullValue($order_tax, '', $db->f('order_currency')). ps_checkout::show_tax_details( $db->f('order_tax_details'), $db->f('order_currency') ),
                                          'order_total' => $CURRENCY_DISPLAY->getFullValue($order_total, '', $db->f('order_currency')),
         
                                 ));
         $shopper_html = $template->fetch('order_emails/confirmation_email.tpl.php');
*

voshod

  • Новичок
  • 3
  • 0 / 0
Заранее извиняюсь за флуд, но никак не могу найти решение, а для знатоков думаю это совсем не проблема

skyscraper, спасибо за решение со скидками! появился вопрос - существует ли возможность выводить цену для каждого товара в корзине и в письме уже с учетом скидки и не подскажете, насколько сложно это реализовать? как я понимаю если скидка считается уже от суммы заказа, то это невозможно реализовать, но может быть скидка считается для каждого товара? разбирался в коде, так и не смог понять как это происходит
Додумался до того, что надо ставить условие в файле basket.php, но цена товара формируется в цикле в начале файла
Код
$product_rows[$i]['product_price'] = $GLOBALS['CURRENCY_DISPLAY']->getFullValue($product_price);
а общая сумма заказа $order_total считается в самом конце файла. Подскажите, пожалуйста, если кто знает, как поставить цикл в конце файла с условием на сумму заказа, чтобы выводить скидочные цены товаров пусть даже после основного цикла с артикулом и другими параметрами, или может есть еще какое-то решение, бьюсь уже вторую неделю, не могу найти выход. Если ставить условие в конце файла, то выводится только цена последнего товара.
*

Noralla

  • Осваиваюсь на форуме
  • 45
  • 4 / 0
Вот здесь http://joomlaforum.ru/index.php/topic,216059.0.html предлагается полностью готовый модуль накопительной скидки.
*

spsyper

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Добрый день, интегрировал Ваше решение накопительной скидки, но на 3-ем шагу оформления покупки - при выборе "Варианты доставки" и переходе к "Способ оплаты" выбрасывает следующую ошибку - Fatal error: Call to a member function get_rate() on a non-object in ... (177 строка в моем случае) -   $shipping_total = round( $ps_checkout->_SHIPPING->get_rate ( $vars ), 5 ); - строка с файла basket.php, кто подскажет что можно сделать?

...И ещё не могу понять, пока не доделал до конца этот хак работает как "накопительный от сделанных ранее заказов и текущего заказа" или только от "суммы текущего заказа" ??

Заранее за ответ - спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться