Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Выполнено] Адаптировать код analytics под модуль Simpla


Recommended Posts

Opencart 1.5

Тема: moneymaker

Модуль: http://www.opencart.com/index.php?route=extension/extension/info&extension_id=11242

Код, который нужно сделать совместимым с модулем заказов Simpla:

	<file name="catalog/controller/checkout/cart.php">
		<operation>
			<search position="after"><![CDATA[
			$json['total'] = sprintf($this->language->get('text_items'), $this->cart->countProducts() + (isset($this->session->data['vouchers']) ? count($this->session->data['vouchers']) : 0), $this->currency->format($total));
			]]></search>
			<add><![CDATA[
			if ($this->config->get('ecommerce_tracking_status') && $this->config->get('ecommerce_tracking_enhanced') && $this->config->get('ecommerce_tracking_enhanced_add_and_remove')) {
				$json['total'] .= sprintf("<script>
  ga('ec:addProduct', {'id': '%s', 'name': '%s', 'brand': '%s', 'quantity': '%s' });
  ga('ec:setAction', 'add');
  ga('send', 'event', 'detail view', 'click', 'add to cart');
</script>", 
					$product_info['product_id'],
					html_entity_decode($product_info['name']),
					$product_info['manufacturer'],
					$quantity
				);
			}
			]]></add>
		</operation>

		<operation>
			<search position="after"><![CDATA[
			if (isset($this->request->get['remove'])) {
			]]></search>
			<add><![CDATA[
			if($this->config->get('config_google_analytics') && $this->config->get('ecommerce_tracking_enhanced')){
				$this->data['google_analytics'] = html_entity_decode($this->config->get('config_google_analytics'), ENT_QUOTES, 'UTF-8');
				$this->data['ecommerce_tracking_status'] = false;

				if ($this->config->get('ecommerce_tracking_status') && $this->config->get('config_google_analytics')) {
					$this->data['ecommerce_tracking_status'] = true;

					if (strpos($this->data['google_analytics'], 'i,s,o,g,r,a,m') !== false) {
						$ecommerce_global_object_pos = strrpos($this->data['google_analytics'], "analytics.js','") + strlen("analytics.js','");
						$this->session->data['ecommerce_global_object'] = substr($this->data['google_analytics'], $ecommerce_global_object_pos, (strpos($this->data['google_analytics'], "');", $ecommerce_global_object_pos) - $ecommerce_global_object_pos));
						$this->session->data['start_google_code'] = substr($this->data['google_analytics'], 0, (strpos($this->data['google_analytics'], "auto');") + strlen("auto');")));
						$this->session->data['end_google_code'] = substr($this->data['google_analytics'], (strpos($this->data['google_analytics'], "auto');") + strlen("auto');")));

						$this->load->model('catalog/product');
						$product_info = $this->model_catalog_product->getProduct((int)$this->request->get['remove']);

						$session_data = array();
						$session_data['product_id'] = (int)$this->request->get['remove'];
						$session_data['name'] = $product_info['name'];
						$session_data['special'] = $product_info['special'];
						$session_data['price'] = $product_info['price'];
						$session_data['quantity'] = 1;
						foreach($this->cart->getProducts() as $product) {
							if ($product['product_id'] == (int)$this->request->get['remove']) {
								$session_data['quantity'] = $product['quantity'];
							}
						}

						$session_array = array();
						if (!empty($this->session->data['remove_from_cart'])) {
							$session_array = $this->session->data['remove_from_cart'];
						}

						if (!isset($session_array[(int)$this->request->get['remove']])) {
							$session_array[(int)$this->request->get['remove']] = $session_data;
						}

						$this->session->data['remove_from_cart'] = $session_array;
					}
				}
			}
			]]></add>
		</operation>
	</file>
	
	<file name="catalog/controller/module/cart.php">
		<operation>
			<search position="after"><![CDATA[
			if (isset($this->request->get['remove'])) {
			]]></search>
			<add><![CDATA[
			if($this->config->get('config_google_analytics') && $this->config->get('ecommerce_tracking_enhanced') && $this->config->get('ecommerce_tracking_enhanced_add_and_remove')){
				$this->data['google_analytics'] = html_entity_decode($this->config->get('config_google_analytics'), ENT_QUOTES, 'UTF-8');
				$this->data['ecommerce_tracking_status'] = false;

				if ($this->config->get('ecommerce_tracking_status') && $this->config->get('config_google_analytics')) {
					$this->data['ecommerce_tracking_status'] = true;

					if (strpos($this->data['google_analytics'], 'i,s,o,g,r,a,m') !== false) {
						$ecommerce_global_object_pos = strrpos($this->data['google_analytics'], "analytics.js','") + strlen("analytics.js','");
						$this->session->data['ecommerce_global_object'] = substr($this->data['google_analytics'], $ecommerce_global_object_pos, (strpos($this->data['google_analytics'], "');", $ecommerce_global_object_pos) - $ecommerce_global_object_pos));
						$this->session->data['start_google_code'] = substr($this->data['google_analytics'], 0, (strpos($this->data['google_analytics'], "auto');") + strlen("auto');")));
						$this->session->data['end_google_code'] = substr($this->data['google_analytics'], (strpos($this->data['google_analytics'], "auto');") + strlen("auto');")));

						$this->load->model('catalog/product');
						$product_info = $this->model_catalog_product->getProduct((int)$this->request->get['remove']);

						$session_data = array();
						$session_data['product_id'] = (int)$this->request->get['remove'];
						$session_data['name'] = $product_info['name'];
						$session_data['special'] = $product_info['special'];
						$session_data['price'] = $product_info['price'];
						$session_data['quantity'] = 1;
						foreach($this->cart->getProducts() as $product) {
							if ($product['product_id'] == (int)$this->request->get['remove']) {
								$session_data['quantity'] = $product['quantity'];
							}
						}

						$session_array = array();
						if (!empty($this->session->data['remove_from_cart'])) {
							$session_array = $this->session->data['remove_from_cart'];
						}

						if (!isset($session_array[(int)$this->request->get['remove']])) {
							$session_array[(int)$this->request->get['remove']] = $session_data;
						}

						$this->session->data['remove_from_cart'] = $session_array;
					}
				}
			}
			]]></add>
		</operation>
	</file>

Интересует цена и сроки.

Надіслати
Поділитися на інших сайтах


Гість
Ця тема закрита для публікації повідомлень.
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.