Το 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 δηλαδή) ένα κουμπί "επιδιόρθωσης" που η δουλειά του είναι να ξαναδημιουργεί το λινκ εάν δεν υπάρχει. (δείτε την φώτο παρακάτω)
Στον 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);
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 του καταστήματος;
Έχει κανείς καμία ιδέα επί του θέματος.