OpenCart-Hellas 

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

Υποστήριξη εμπορικών και δωρεάν επεκτάσεων & θεμάτων (Themes / Templates)
#7200
Καλησπέρα σε όλους. Οι γνώσεις μου παλιότερα ήταν αρκετά καλές αλλά τα είχα παρατήσει εδώ και 20 χρόνια λόγω άλλης δουλειάς. Λόγω Covid-19 λοιπόν και επειδή ήταν πολλές οι ώρες στο σπίτι ξαναμπήκα στον κόπο να ξεστραβωθώ όσο ήταν δυνατόν και να ασχοληθώ με την κατασκευή ενός e-shop για την δουλειά μου.
Το eshop είναι online και λειτουργεί εδώ και ένα χρόνο περίπου αλλά περνώντας ο καιρός χρειάστηκα ένα extension για να βοηθάω τους πελάτες μου φτιάχνοντας τους κάποια λίστα και στέλνοντας τους ένα url να μπορούν να μπαίνουν κατευθείαν στο Καλάθι αγορών και με λίγα κλικ να πραγματοποιούν την αγορά. Έτσι κατέληξα στο Save Cart As Link for OpenCart 3.x. Στο frondpage ήταν όλα καλά όμως στο admin δεν υπήρχε δυνατότητα να βλέπεις τις λίστες που είχαν αποθηκεύσει κάποιοι πελάτες. Έτσι μπήκα στην διαδικασία του Remake.
Η πρώτη αλλαγή ήταν η προσθήκη ενός ακόμα column με όνομα shorturl στο table του extension στην βάση δεδομένων και η τροποποίηση του controller ώστε να αποθηκεύεται ολόκληρο το λινκ στη βάση.
Στο admin δημιούργησα ενα template μαζί με contoller και model αρχεία,που εμφανίζει μία λίστα με τα αποθηκευμένα λινκς.
Στο template έχω σε κάθε γραμμή (κάθε ID δηλαδή) ένα κουμπί "επιδιόρθωσης" που η δουλειά του είναι να ξαναδημιουργεί το λινκ εάν δεν υπάρχει. (δείτε την φώτο παρακάτω)
savecart.jpg
Στον controller εχω:
Κώδικας: Επιλογή όλων

public function repair() {
		$this->load->language('extension/savecart');

		$this->document->setTitle($this->language->get('heading_title'));

		$this->load->model('extension/savecart');
		
		
		// check if the request was made over HTTPS or not
		if ($this->request->server['HTTPS']) {
			$server = $this->config->get('HTTPS_SERVER');
		} else {
			$server = $this->config->get('HTTP_SERVER');
		}
		
		
		
		$this->model_extension_savecart->repairSaveCarts($this->request->get['link_id'], $this->request->post);
		
Όμως έχω κολλήσει σε κάποια εντολή στο αρχείο του model ο οποίος αποθηκεύει μόνο το δεύτερο κομμάτι του λινκ. Στο model έχω το εξης:
Κώδικας: Επιλογή όλων
public function repairSaveCarts($link_id) {
		
		 $end_url = base64_encode(serialize((int)$link_id));
        
		 $url = $this->config->get('config_url').$end_url;

		 $this->db->query("UPDATE " . DB_PREFIX . "save_cart SET shorturl = '" . $this->db->escape($url) . "', date_added = NOW() WHERE link_id = '" . (int)$link_id . "'");
	}
Η γραμμή
$this->config->get('config_url')
δείχνει να μην δουλεύει.


Πως μπορώ να το κάνω να διαβάζει το url του καταστήματος;
Έχει κανείς καμία ιδέα επί του θέματος.
Πρέπει να συνδεθείτε για να δείτε τα συνημμένα αρχεία σε αυτήν τη δημοσίευση.
#7204
Καλημέρα,

Κάνε το έτσι:
Κώδικας: Επιλογή όλων
if ($this->request->server['HTTPS']) {
  $url = HTTPS_CATALOG . $end_url;
} else {
  $url = HTTP_CATALOG . $end_url;
}

Σε ευχαριστώ πολύ Αλεξάνδρα. Η βοήθειά σου, μου έδ[…]

Καταλαβα. Χρήσιμες πληροφορίες ευχαριστώ θα το δοκ[…]

Γύρισε το αν θες σε default theme και κάνε μία δοκ[…]

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