Последние темы


Странность с плагином мульттивалютности.

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

  • Еще интересная вещь, я чищу сессию, сессия очищается, но когда перегружаю страницу, корзинка как была полная. Видимо где то здесь зарыт топор.

  • В принципе я на данный момент просто решил это дело следующим образом

    $purchases = !empty( $_SESSION['shk_order'] ) ? $_SESSION['shk_order'] : array();
    
            if( !empty( $purchases ) ){
               foreach( $purchases as $key => &$purchase ){
                  if( isset( $purchase['old_price'] ) ){
                       $base_price = $purchase['old_price'];
                  }
                  else if( !isset( $purchase['old_price'] ) ) {
                       $purchase['old_price'] = $purchase['price'];
                       $base_price = $purchase['price'];
                  }
                                    
                  $purchase['price'] = shk_currency_calc( $scriptProperties, $base_price, $currency_id );
                                    
                  //Доп. параметры
                  if( !empty( $purchase['options'] ) ){
                       foreach( $purchase['options'] as &$addit_param ){
                                            
                       if( !isset( $addit_param[3] ) ) $addit_param[3] = $addit_param[1];
                            $addit_param[1] = shk_currency_calc( $scriptProperties, $addit_param[3], $currency_id );
                       }
                  }
                                    
            	}
            	$_SESSION['shk_order'] = $purchases;
            }
    

    просто вставил пересчет перед каждым вызовом страницы, это не очень элегантное решение, но пока работает.

 

Последние комментарии

  • C

    Если вдруг кто-то озадачится.
    В файле updateorderstatus.class.php

    //Формируем письмо $orderOutputData = $shopCart->getOrderData( $order_id ); $chunkArr = array( 'orderID' => $order_data['id'], 'orderDate' => $order_data['date'], 'statusName' => $status_data['label'], 'orderCurrency' => $shopCart->config['currency'], 'orderOutputData' => $orderOutputData, //добавляем строку 'status' => $status_data['color'], );

    Читать далее
  • Участник @Vladislava написал в Проблема с giftCards:

    @Andchir Спасибо большое! А не скажете ещё, где можно скачать Compare? Тоже не могу найти.

    Сравнение товаров
    https://e-store.shopkerx.net/katalog/modx_extras/compare

    Читать далее
  • V

    @Andchir Спасибо большое! А не скажете ещё, где можно скачать Compare? Тоже не могу найти.

    Читать далее
  • Дополнение "Paykeeper2 - онлайн-оплата и электронные товары" теперь стало бесплатным.

    0_1574706584028_Chash Register.png

    Сниппет для продажи электронных товаров, а так же оплаты заказов в интернет-магазине на основе Shopkeeper 3.x.
    Компонент для управления электронными товарами (Фронт-енд написан на Angular2 + TypeScript).
    Используется библиотека Omnipay. Эта библиотека позволяет делать единый API для разных платежных систем.
    Сайт проекта: http://omnipay.thephpleague.com/

    В состав входят готовые обработчики для платежных систем:
    Yandex.Kassa (агрегатор), WebMoney, PayPal.

    Скачать можно здесь:
    https://e-store.shopkerx.net/katalog/modx_extras/onlayn-oplata-dlya-modx-paykeeper2

    Читать далее