display_column_left = false; $this->display_column_right = false; parent::init(); } /** * @throws PrestaShopException */ public function initContent() { global $smarty; parent::initContent(); $gaCartId = (int) Tools::getValue('ga_cart_id'); $gaHash = Tools::getValue('ga_hash'); $gaKey = Configuration::get('IMOJE_GA_KEY'); if(!$gaKey || $gaCartId <= 0) { $this->setTemplate(IMoje::buildTemplatePath('success', 'front')); return; } $smarty->assign('ga_key', $gaKey); try { $cart = new Cart($gaCartId); if(hash('sha256', $cart->id . $cart->secure_key) === $gaHash) { $currencyInfo = Currency::getCurrency($cart->id_currency); $gaConversion = [ [ 'command' => 'ecommerce:addTransaction', 'properties' => [ 'id' => $cart->id, 'affiliation' => Configuration::get('PS_SHOP_NAME'), 'revenue' => $cart->getOrderTotal(true), 'shipping' => $cart->getTotalShippingCost(), 'tax' => $cart->getOrderTotal(true) - $cart->getOrderTotal(false), 'currency' => $currencyInfo['iso_code'], ], ], ]; foreach($cart->getProducts() as $product) { $gaConversion[] = [ 'command' => 'ecommerce:addItem', 'properties' => [ 'id' => $cart->id, 'name' => $product['name'], 'sku' => $product['reference'], 'category' => $product['category'], 'price' => $product['price'], 'quantity' => $product['quantity'], ], ]; } $smarty->assign('ga_conversion', $gaConversion); } } catch(Exception $e) { Logger::addLog(__METHOD__ . ' ' . $e->getMessage(), 1); } $this->setTemplate(IMoje::buildTemplatePath('success', 'front')); } }