Услуги частного программиста 1С удаленно по РФ и с выездом по Москве

 
×

Предупреждение

JUser: :_load: Не удалось загрузить пользователя с ID: 762

Изменение отображения суммы доставки при оформлении заказа

Необходимо доработать блок доставки joomshopping по условию.

Если доставка по городу и сумма заказа больше 1500 руб тогда доставка 0 руб.

иначе доставка 200 руб.

Если доставка по пригороду и сумма заказа больше 2000 руб тогда доставка 0 руб.

иначе доставка 300 руб.

 

Редактируем файл /components/com_jshopping/templates/имя_шаблона/checkout/shippings.php (или в папке имя_шаблона/html/com_jshopping/checkout/shippings.php)

Строчку

<span class="shipping_price">(<?php print formatprice($shipping->calculeprice); ?>)</span>

 

заменяем на

<?php	if ( $shipping->sh_pr_method_id == 6 ) {
                            			   if ( $cart_data->price_product>1500 ){
                                                ?><b><?php echo " : БЕСПЛАТНАЯ ДОСТАВКА ";?></b><?php
                                            }else{
                                                ?><b><?php echo " : Доставка 200 Рублей";?></b><?php }
                            		        }
            			                ?>
            			                
            			                <?php	if ( $shipping->sh_pr_method_id == 7 ) {
                                    		if ( $cart_data->price_product>2000 ){
                                                        ?><b><?php echo " : БЕСПЛАТНАЯ ДОСТАВКА ";?></b><?php
                                                    }else{
                                                        ?><b><?php echo " : Доставка 300 Рублей";?></b><?php }
                                    		}
			                            ?>

 

Примечание: в «$sh_pr_method_id==6» и "7" цифра «6» это ID цены доставки, посмотреть его можно на страничке http:/*.ru/administrator/index.php?option=com_jshopping&controller=shippingsprices

 

Изменение суммы доставки по условию 

Редактируем файл components/com_jshopping/controllers/checkout.php - изменяем function step4save()

Между

if (!$checkout->saveShippingData($sh_pr_method_id, $allparams, $adv_user)){
   JError::raiseWarning('', $checkout->getError());
      $this->setRedirect($checkoutStep->getCheckoutUrl('4'));
      return 0;
     }
$sh_method = $checkout->getActiveShippingMethod();
$shipping_method_price = $checkout->getActiveShippingMethodPrice();
и
$dispatcher->trigger('onAfterSaveCheckoutStep4', array(&$adv_user, &$sh_method, &$shipping_method_price, &$cart));
 
$next_step = $checkoutStep->getNextStep(4);

 

добавляем строки:

if ( $shipping->sh_pr_method_id == 6 ) {
                            			   if ( $cart->price_product>1500 ){
                                                $cart->setShippingPrice(0);
                                            }else{
                                                $cart->setShippingPrice(200);
	}}
            			               
            			                
     if ( $shipping->sh_pr_method_id == 7 ) {
                                    		if ( $cart->price_product>2000 ){
                                                         $cart->setShippingPrice(0);
                                                    }else{
                                                         $cart->setShippingPrice(300);
	 }}

 

Готово

 

Опубликовано в Технологии не 1С