Новосибирск +7(983)

По всем вопросам :

Телеграм : @radgura

JoomShopping - Стоимость атрибута в заказе

Заказать доработку
Joomla 3.x

Стоимость 300


@radgura.ru
Адриена Лежена
63089
Новосибирск
Адриена Лежена
+7(983)
3067856
Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.

Статьи

Вы можете Заказать доработку 300руб. RUB
Нам необходимо запомнить стоимость атрибута на момент продажи, для этого необходимо в таблице #__jshopping_order_item добавить поле attrprice

Далее добавляем код, который сохранит стоимость атрибута в момент создания заказа, файл:

/components/com_jshopping/models/checkoutorder.php

После $order->saveOrderItem($cart->products); добавляем код:

 $db->setquery("SELECT * FROM `#__jshopping_order_item` WHERE order_id='".$order->order_id."' ");$orditems=$db->loadobjectlist();
foreach($orditems as $orditem)
if (trim($orditem->attributes)!='')
{
$attr = unserialize($orditem->attributes);
$attrprice='';$needsave=0;$pricemass=array();
foreach($attr as $attritem=>$val )
{
$db->setquery("select independent from #__jshopping_attr where attr_id='".$attritem."'");$independent=$db->loadresult();
if ($independent==1)
{
$db->setquery("select concat(price_mod,addprice) from #__jshopping_products_attr2 where attr_id='".$attritem."' and attr_value_id='".$val."' and product_id='".$orditem->product_id."' ");$attrprice=$db->loadresult();
if (isset($orditem->attrprice) and ($orditem->attrprice)!='') {$pricemass=json_decode($orditem->attrprice,true);}
else {$needsave=1;}
if (!isset($pricemass[$attritem.'-'.$val]))
{
$pricemass[$attritem.'-'.$val]=number_format($attrprice,2,'.',' ');
$needsave=1;
}
}
if ($needsave==1)
{
$massstr=json_encode($pricemass);
$db->setquery("update #__jshopping_order_item set attrprice='".$massstr."' where order_item_id='".$orditem->order_item_id."' ");$db->execute();
}
}
}

 Далее необходимо вывести эти данные в административной части, файл

administrator/components/com_jshopping/views/orders/tmpl/show.php

В нужную ячейку добавляем код:

<td class="atrrlist">
<?php
$attr = unserialize($item->attributes);
echo formatprice($item->product_item_price, $order->currency_code);
if (isset($item->_ext_price_html)) print $item->_ext_price_html;
$attrprice='';$needsave=0;$pricemass=array();
foreach($attr as $attritem=>$val )
{
$db->setquery("select `name_ru-RU` from #__jshopping_attr where attr_id='".$attritem."'");$attrname=$db->loadresult();
$db->setquery("select independent from #__jshopping_attr where attr_id='".$attritem."'");$independent=$db->loadresult();
$db->setquery("select `name_ru-RU` from #__jshopping_attr_values where attr_id='".$attritem."' and value_id='".$val."' ");$attrval=$db->loadresult();
if ($independent==1)
{
$db->setquery("select concat(price_mod,addprice) from #__jshopping_products_attr2 where attr_id='".$attritem."' and attr_value_id='".$val."' and product_id='".$item->product_id."' ");$attrprice=$db->loadresult();
if (isset($item->attrprice) and ($item->attrprice)!='') {$pricemass=json_decode($item->attrprice,true);}
else {$needsave=1;}
if (!isset($pricemass[$attritem.'-'.$val]))
{
$pricemass[$attritem.'-'.$val]=number_format($attrprice,2,'.',' ');
$needsave=1;
}
if ($attrprice>0) echo '<br><span class="attrid_'.$attritem.' valid_'.$val.'">'.$attrname.'</span> : '.$attrval.' цена '.$pricemass[$attritem.'-'.$val];
}
if ($needsave==1)
{
$massstr=json_encode($pricemass);
$db->setquery("update #__jshopping_order_item set attrprice='".$massstr."' where order_item_id='".$item->order_item_id."' ");$db->execute();
}
}
?>
</td>

Комментарии (0)

Здесь ещё нет оставленных комментариев.

Оставьте свой комментарий

  1. Добавление комментария от гостя.
Вложения (0 / 3)
Share Your Location

Как с нами связаться

По всем вопросам пишите  

Телеграм: @radgura

OnLine заказ

Отправить сообщение

Нажимая на кнопку «Отправить сообщение», я соглашаюсь:
* с условиями публичной оферты
* обработку моих персональных данных


RAD компоненты

Please publish modules in offcanvas position.