Καλημέρα,
@Nikos Gioumatzidis
Για πρόσβαση στη βάση, θα μπορούσες θεωρητικά να του περάσεις το registry από constructor που θα προσέθετες στον controller του order και μετά από constructor σε constructor να προσθέσεις τις μεταβλητές για να φτάσει στο επίμαχο class, αλλά είναι περισσότερη δουλειά και αρκετά επεμβατική ενέργεια. Προτείνω το ακόλουθο που είναι πιο clean:
Πριν το:
Πρόσθεσε αυτά:
Κώδικας: Επιλογή όλωνrequire_once(DIR_SYSTEM . '/library/db.php');
require_once(DIR_SYSTEM . '/library/db/mysqli.php');
Όπου θες, μετά το:
Προσθέτεις το ακόλουθο και το query σου:
Κώδικας: Επιλογή όλων$db = new \DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE, DB_PORT);
// Test Query
$query = $db->query("SELECT language_id FROM " . DB_PREFIX . "language");
Εναλλακτικά, φτιάχνεις ένα constructor πριν το send(), δημιουργείς το object της βάσης εκεί και τρέχεις τα queries μετά το send().
@sxint Αυτή η συζήτηση είναι αρκετά τεχνική. Επειδή η κάθε έκδοση έχει διαφορές, χρειάζονται κάποιες γνώσεις προγραμματισμού σε PHP για να προσαρμόσεις τις τροποποιήσεις σε κάθε περίπτωση. Πες μας αν θες τι έκδοση OpenCart έχεις. Επίσης, έλεγξε τον φάκελο storage/modification αν το αρχείο smtp.php τροποποιείται από κάποιο OCMOD και παρεμβάλλεται κώδικας. Σε αυτήν την περίπτωση, οι γραμμές κώδικα που συζητάμε παραπάνω δεν θα είναι οι ίδιες.
Αλεξάνδρα Γκόγκα - Software Developer @ People’s Code
OpenCart-Hellas.gr - Administrator & Founder
PeoplesCode.com - Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Μεταφορά - Τεχνική Υποστήριξη OpenCart
Ελληνική μετάφραση & Επεκτάσεις OpenCart