OpenCart-Hellas 

Η Ελληνική κοινότητα υποστήριξης του Opencart

Θέματα που αφορούν τη γενικότερη λειτουργία του Opencart.
#5835
Καλησπέρα σε όλους.
Δοκίμασα να κάνω αρχικοποίηση 2 μεταβλητές στο data στην php σελίδα του controller και δυστυχώς όταν πάω να κάνω χρήση των μεταβλητών στην αντίστοιχη tpl σελίδα στο view η απάντηση που παίρνω είναι Undefined variable.
Έχω δοκιμάσει να βάλω ξερά των κώδικα στην αντίστοιχη σελίδα, αλλα και να περάσω τον κώδικα μέσω vqmode με xml.
Κώδικας: Επιλογή όλων
<file name="catalog/controller/checkout/sucess.php">
		<operation>
			<search position="before "><![CDATA[$this->cart->clear();]]></search>
			<add><![CDATA[
			
			$data['transaction_id'] = $this->session->data['order_id'];			

			$data['cart_total'] = $this->cart->getTotal();
			
			]]>
			</add>
		</operation>
	</file>
	
	
	<file name="catalog/view/theme/journal3/template/common/success.tpl">
		<operation>
			<search position="before "><![CDATA[<ul class="breadcrumb">]]></search>
			<add><![CDATA[
			
<script>
gtag('event', 'conversion',
{'send_to': 'AW-77******/***********',
'value': '<?php echo $cart_total; ?>' ,
'currency': 'EUR',
'transaction_id': '<?php echo $transaction_id; ?>'
});
</script>
			
			]]>
			</add>
		</operation>
	</file>


Το script εμφανίζεται κανονικά στον κώδικα της succes page αλλα δεν μπορεί να διαβάσει τις μεταβλητές.
Ευχαριστώ εκ τον προτέρων
opencart 2.3.*
vqmod 2.6.*
Τελευταία επεξεργασία από το μέλος Maragos την 30 Ιούλ 2019, 17:29, έχει επεξεργασθεί 1 φορά συνολικά.
#5837
Πιο γενικά και όχι τόσο στο συγκεκριμένο παράδειγμα , ότι μεταβλητή αρχικοποιήσω στο data[] στην σελίδα του controler στο success page δεν μπορώ να την δώ στο view με σύνταξη απλά το όνομα της
#5846
Καλησπέρα,

Μία εναλλακτική είναι:
1. να περάσεις τα δεδομένα που θες από τον controller του success στο session.
2. στον controller common/header.php να ελέγξεις αν είσαι στην σελίδα του success με $this->request->get['route'] == 'checkout/success'. Μετά να περάσεις τα δεδομένα του session στο $data για να τα έχεις στο view και να τα διαγράψεις από το session.
3. Στο view του header τοποθετείς την javascript που θες με τα δεδομένα.
Από Maragos
#5849
Σας ευχαριστώ πάρα πολύ

δοκίμασα να περάσω το session στο data και μου βγάζει
Κώδικας: Επιλογή όλων
Notice: Undefined index: trans_id in /home/topstore/public_html/vqmod/vqcache/vq2-system_storage_modification_catalog_controller_common_header.php on line 128Notice: Undefined index: c_total in /home/topstore/public_html/vqmod/vqcache/vq2-system_storage_modification_catalog_controller_common_header.php on line 129
ελπίζω να μην έχω γράψει κάτι λάθος
Κώδικας: Επιλογή όλων
<?xml version="1.0" encoding="UTF-8"?>
<modification>
    <id>VQMOD CORE FOR OPENCART - DO NOT REMOVE</id>
    <version>1.4.x and above</version>
    <vqmver required="true">2.6.0</vqmver>
    <author>vqmod.com</author>

	<file name="catalog/controller/checkout/sucess.php">
		<operation>
			<search position="before "><![CDATA[$this->cart->clear();]]></search>
			<add><![CDATA[
			
			$_SESSION['trans_id'] = $this->session->data['order_id'];			

			$_SESSION['c_total'] = $this->cart->getTotal();
			
			]]>
			</add>
		</operation>
	</file>
	

		<file name="catalog/controller/common/header.php">
		<operation>
			<search position="before "><![CDATA[$data['text_shopping_cart'] = $this->language->get('text_shopping_cart');]]></search>
			<add><![CDATA[
			
		 if ($this->request->get['route'] == 'checkout/success'){
		  
		  
		  
		 $data['transaction_id'] = $_SESSION['trans_id'];		
		 $data['cart_total'] = $_SESSION['c_total'];
		 
		 
		 unset($_SESSION['trans_id']);
		 unset($_SESSION['c_total']);
		 }
			
			]]>
			</add>
		</operation>
	</file>


</modification>
#5853
Καλησπέρα,

Δοκίμασε να κάνεις refresh το cache στις τροποποιήσεις (modifications)
Από Maragos
#5854
Ευχαριστώ πολύ. Δοκίμασα το μεσημέρι να σβήσω την vqcache και μοιάζει να λειτουργεί σωστά , απλά δεν βρήκα χρόνο να το διορθώσω στο forum ευχαριστώ
Σύνδεση με Epsilonet smart

Και εμενα θα με ενδιεφερε κατι τετοιο!!!

SMS Provider

Καλησπέρα, Σκοπεύω να στέλνω sms στους πελάτες για[…]

Πριν ζητήσετε βοήθεια στο φόρουμ, παρακαλούμε ελέγξτε αν υπάρχει έτοιμη λύση στο OpenCart Extension Marketplace!