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 ευχαριστώ

Δεν γνωρίζω πως γίνετε αυτό που θέλεις να κάνεις α[…]

Σας ευχαριστώ πολύ για την απάντηση, σκεφτείτε η ε[…]

Έλεγξε αν έχεις πολύ μεγάλα αρχεία εικόνων και αν […]

Κάνε ένα restart τον σερβερ. (βασικα την λειτουργι[…]

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