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

bodr1982

  • Осваиваюсь на форуме
  • 23
  • 3 / 0
У меня стопор... мож. от того что давно не высыпался  ;D

Проблема в том что саму надпись я добавил, но она после нажатия кнопки купить появляется в первом товаре категории... в нужном месте только после обновления страницы...

И так чтоя сделал (пример для browse):

перековырнул код в файле components/com_virtuemart/themes/default/templates/browse/includes/addtocart_form.tpl.php

Код: php
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); 
mm_showMyFileName(__FILE__);
$button_lbl = $VM_LANG->_('PHPSHOP_CART_ADD_TO');
$button_cls = 'addtocart_button';
if( CHECK_STOCK == '1' && !$product_in_stock ) {
$button_lbl = $VM_LANG->_('VM_CART_NOTIFY');
$button_cls = 'notify_button';
$notify = true;
} else {
$notify = false;
}
?>
<form action="<?php echo $mm_action_url ?>index.php" method="post" name="addtocart" id="addtocart<?php echo $i ?>" class="addtocart_form" <?php if( $this->get_cfg( 'useAjaxCartActions', 1 ) && !$notify ) { echo 'onsubmit="handleAddToCart( this.id );return false;"'; } ?>>
    <?php echo $ps_product_attribute->show_quantity_box($product_id,$product_id); ?>
<input type="submit" class="<?php echo $button_cls ?>" value="<?php echo $button_lbl ?>" title="<?php echo $button_lbl ?>" onclick="document.getElementById('text1').style.visibility='visible';" />
<?php //print_r($_SESSION['cart']);
 $flag=false;
 foreach($_SESSION['cart'] as $cart)
 {
 if ($cart['product_id']==$product_id){
 $flag=true;
 }
 }
 if($flag)
 {echo '<div id="text1"><br/>Товар в корзине</div>';}
 else
 {echo '';}
?>
<div id="text1"><br/>Товар в корзине</div>
    <input type="hidden" name="category_id" value="<?php echo  @$_REQUEST['category_id'] ?>" />
    <input type="hidden" name="product_id" value="<?php echo $product_id ?>" />
    <input type="hidden" name="prod_id[]" value="<?php echo $product_id ?>" />
    <input type="hidden" name="page" value="shop.cart" />
    <input type="hidden" name="func" value="cartadd" />
    <input type="hidden" name="Itemid" value="<?php echo $sess->getShopItemid()?>" />
    <input type="hidden" name="option" value="com_virtuemart" />
    <input type="hidden" name="set_price[]" value="" />
    <input type="hidden" name="adjust_price[]" value="" />
    <input type="hidden" name="master_product[]" value="" />
</form>

дальше как я писал стопор... Если кто поможет уж очень буду благодарен  ^-^
*

bodr1982

  • Осваиваюсь на форуме
  • 23
  • 3 / 0
Вопрос решен. Для того чтоб все нормально работало надо к нашему id diva привязать id нашей кнопки купить...

Итак... теперь код выглядит следующим образом

Код: php
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); 
mm_showMyFileName(__FILE__);
$button_lbl = $VM_LANG->_('PHPSHOP_CART_ADD_TO');
$button_cls = 'addtocart_button';
if( CHECK_STOCK == '1' && !$product_in_stock ) {
$button_lbl = $VM_LANG->_('VM_CART_NOTIFY');
$button_cls = 'notify_button';
$notify = true;
} else {
$notify = false;
}
?>
<form action="<?php echo $mm_action_url ?>index.php" method="post" name="addtocart" id="addtocart<?php echo $i ?>" class="addtocart_form" <?php if( $this->get_cfg( 'useAjaxCartActions', 1 ) && !$notify ) { echo 'onsubmit="handleAddToCart( this.id );return false;"'; } ?>>
    <?php echo $ps_product_attribute->show_quantity_box($product_id,$product_id); ?>
<input type="submit" class="<?php echo $button_cls ?>" value="<?php echo $button_lbl ?>" title="<?php echo $button_lbl ?>" onclick="document.getElementById('text<?php echo $i ?>').style.visibility='visible';" />
<?php //print_r($_SESSION['cart']);
 $flag=false;
 foreach($_SESSION['cart'] as $cart)
 {
 if ($cart['product_id']==$product_id){
 $flag=true;
 }
 }
 if($flag)
 {echo '<div id="text<?php echo $i ?>"><br/>Товар в корзине</div>';}
 else
 {echo '';}
?>
<div id="text<?php echo $i ?>"><br/>Товар в корзине</div>
    <input type="hidden" name="category_id" value="<?php echo  @$_REQUEST['category_id'] ?>" />
    <input type="hidden" name="product_id" value="<?php echo $product_id ?>" />
    <input type="hidden" name="prod_id[]" value="<?php echo $product_id ?>" />
    <input type="hidden" name="page" value="shop.cart" />
    <input type="hidden" name="func" value="cartadd" />
    <input type="hidden" name="Itemid" value="<?php echo $sess->getShopItemid()?>" />
    <input type="hidden" name="option" value="com_virtuemart" />
    <input type="hidden" name="set_price[]" value="" />
    <input type="hidden" name="adjust_price[]" value="" />
    <input type="hidden" name="master_product[]" value="" />
</form>

Всем удачного использования  ;)
*

Dimir

  • Захожу иногда
  • 426
  • 13 / 1
Вопрос решен. Для того чтоб все нормально работало надо к нашему id diva привязать id нашей кнопки купить...

Итак... теперь код выглядит следующим образом

Код: php
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); 
mm_showMyFileName(__FILE__);
$button_lbl = $VM_LANG->_('PHPSHOP_CART_ADD_TO');
$button_cls = 'addtocart_button';
if( CHECK_STOCK == '1' && !$product_in_stock ) {
$button_lbl = $VM_LANG->_('VM_CART_NOTIFY');
$button_cls = 'notify_button';
$notify = true;
} else {
$notify = false;
}
?>
<form action="<?php echo $mm_action_url ?>index.php" method="post" name="addtocart" id="addtocart<?php echo $i ?>" class="addtocart_form" <?php if( $this->get_cfg( 'useAjaxCartActions', 1 ) && !$notify ) { echo 'onsubmit="handleAddToCart( this.id );return false;"'; } ?>>
    <?php echo $ps_product_attribute->show_quantity_box($product_id,$product_id); ?>
<input type="submit" class="<?php echo $button_cls ?>" value="<?php echo $button_lbl ?>" title="<?php echo $button_lbl ?>" onclick="document.getElementById('text<?php echo $i ?>').style.visibility='visible';" />
<?php //print_r($_SESSION['cart']);
 $flag=false;
 foreach($_SESSION['cart'] as $cart)
 {
 if ($cart['product_id']==$product_id){
 $flag=true;
 }
 }
 if($flag)
 {echo '<div id="text<?php echo $i ?>"><br/>Товар в корзине</div>';}
 else
 {echo '';}
?>
<div id="text<?php echo $i ?>"><br/>Товар в корзине</div>
    <input type="hidden" name="category_id" value="<?php echo  @$_REQUEST['category_id'] ?>" />
    <input type="hidden" name="product_id" value="<?php echo $product_id ?>" />
    <input type="hidden" name="prod_id[]" value="<?php echo $product_id ?>" />
    <input type="hidden" name="page" value="shop.cart" />
    <input type="hidden" name="func" value="cartadd" />
    <input type="hidden" name="Itemid" value="<?php echo $sess->getShopItemid()?>" />
    <input type="hidden" name="option" value="com_virtuemart" />
    <input type="hidden" name="set_price[]" value="" />
    <input type="hidden" name="adjust_price[]" value="" />
    <input type="hidden" name="master_product[]" value="" />
</form>

Всем удачного использования  ;)
а где зада еоординаты вывода этому чуду?
-==Dimir==-
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Добавить модуль в товар

Автор Tokyo

Ответов: 2
Просмотров: 4044
Последний ответ 11.05.2015, 20:43:32
от tierex
Дополнительная кнопка купить

Автор Mishok333

Ответов: 7
Просмотров: 2128
Последний ответ 21.05.2014, 14:13:31
от Mishok333
В VirtueMart как добавить капчу ко всем формам?

Автор tiptopvkr

Ответов: 0
Просмотров: 1524
Последний ответ 02.03.2014, 13:25:17
от tiptopvkr
Завершение сессии после покупки

Автор 2CB

Ответов: 3
Просмотров: 2880
Последний ответ 10.02.2014, 23:17:46
от artserge
Появление кнопки в зависимости цены товара

Автор vertraut

Ответов: 2
Просмотров: 1742
Последний ответ 29.11.2013, 19:24:49
от fsv