[Evo] Не выводит общую сумму товара в корзине



  • Есть:
    Modx evo 1.0.5
    Shopkeeper 1.3.4
    Проблема заключается в следующем:
    Нужно вывести общую сумму товара в корзине, использую в шаблоне chunk_shopCart.tpl плейсхолдер [+price_total+] и получаю результат: Окончательная стоимость заказа будет рассчитана в зависимости от выбранных позиций. А хочется увидеть цифры....!



  • в общем удалось сделать.
    Проблема была как я понял в том, что в каталоге товаров были товары, без цены из-за этого он не высчитывал общею сумму товаров в корзине
    Кому интересно:
    сделал исправление в коде
    в файле assets/snippets/shopkeeper/classes/class.shopkeeper.php закоментил в функции getCartContent переменную $fl = 1; что бы выполнилось нужное мне условие

    function getCartContent($orderFormPage,$thisPage){
        $chunk = explode('<!--tpl_separator-->',$this->fetchTpl($this->config['cartTpl']));
        if(!empty($_SESSION['purchases'])){
          $this_page_url = is_int($thisPage) ? $this->modx->makeUrl($thisPage, '', '', 'full') : $thisPage;
          $url_qs = strpos($this_page_url, "?")!==false ? "&amp;" : "?";
          $purchases = unserialize($_SESSION['purchases']);
          $addit_params = !empty($_SESSION['addit_params']) ? unserialize($_SESSION['addit_params']) : array();
          list($totalItems,$totalPrice) = $this->getTotal($purchases,$addit_params);
          
          $evtOut = $this->modx->invokeEvent('OnSHKcartLoad',array('totalItems'=>$totalItems,'totalPrice'=>$totalPrice));
          $plugin = is_array($evtOut) ? implode('', $evtOut) : '';
          
    	  $fl = 0;
    	  for($i = 0; $i < count($purchases); $i++)
    	  {
    		if($purchases[$i][2] == 0){ $purchases[$i][2] = 'Уточните стоимость'; }
    		//$fl = 1;
    	  }
    	  if($fl == 1){
    		$totalPrice = 'Окончательная стоимость заказа будет рассчитана в зависимости от выбранных позиций.';
    	  }else{
    		$totalPrice = $totalPrice.' руб.';
    	  }
    	  
          $cartInner = $this->getStuffList($purchases,$addit_params,'table',false,$this_page_url);
          $cartInner = $this->cleanPHx($cartInner);
          $chunkArr = array(
            'inner' => $cartInner,
            'price_total' => $totalPrice,
            'total_items' => $totalItems,
            'plural' => $this->getPlural($totalItems,$this->langTxt),
            'this_page_url' => $this_page_url,
            'empty_url' => $this_page_url.$url_qs.'shk_action=empty',
            'order_page_url' => $orderFormPage,
            'currency' => $this->config['currency'],
            'plugin' => $plugin
          );
          
          $output = $this->config['cartType']=="small" ? $chunk[2] : $chunk[1];
          
          $this->phx->placeholders = array();
          $this->setPlaceholders($chunkArr);
          $output = $this->phx->Parse($output);
        
        }else{
          
          $evtOut = $this->modx->invokeEvent('OnSHKcartLoad');
          $plugin = is_array($evtOut) ? implode('', $evtOut) : '';
          $output = str_replace("[+plugin+]", $plugin, $chunk[0]);
          
        }
        return $output;
    }


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

Похоже, подключение к Форум | MODX Shopkeeper было разорвано, подождите, пока мы пытаемся восстановить соединение.