Ψάχνομαι σχετικά με κάποιες αλλαγές που θα ήθελα να κάνω στον κώδικα και σκέφτηκα να δημοσιεύσω τις σκέψεις μου, ώστε να οφεληθούν και άλλοι από τη συζήτηση που (εύχομαι ότι) θα προκύψει σχετικά.
Προσπαθώ να κάνω κάποιες αλλαγές σε ένα vqmod addon. Υπάρχει ένα αρχείο xml στον κατάλογο /vqmod/xml, μέσα από το οποίο γίνεται αναζήτηση κάποιου κειμένου σε άλλα, σχετικά αρχεία και αντικατάσταση αυτού με άλλο κείμενο, ώστε να επιτευχθεί το επιθυμητό αποτέλεσμα. (ξέρω ακούγεται λίγο αόριστο αυτό, όμως συνεχίστε το διάβασμα, έχω τους λόγους μου ;-)
Ψάχνει λοιπόν για το κείμενο "[CDATA[$_['text_title'] = 'μπλαμπλα';]]" και το αντικαθιστά με το [CDATA[$_['text_title'] = '%s';]].
Αυτό που προσπαθώ να κάνω εγώ είναι το να αντικαταστήσω το περιεχόμενο της μεταβλητής σε κείμενο (%s) με άλλη, νέα μεταβλητή που θέλω να χρησιμοποιήσω παρακάτω... Δηλαδή κάτι σαν: $this->config->get('μπλαμπλα').
Έχω χαθεί όμως, γιατί αφενός δε μπορώ να καταλάβω πως περνάει η %s (στη model γίνεται η κλήση και περνάει από εκεί; ιδέα δεν έχω, ακόμα ψάχνομαι...) και γιατί δεν παίζει η αντικατάστασή της με κάτι άλλο (δεν το κάνω σωστά;)
Εάν έχει κάποιος τις γνώσεις και του προγραμματισμού σε php, αλλά και της δομής του opencart και μπορεί να βοηθήσει, ίσως εκτός από εμένα βοηθήσει και άλλους στο να καταστούν ικανοί να πραγματοποιήσουν αλλαγές που πιθανόν απαιτούν/επιθυμούν, αλλά δεν είναι σε θέση να υλοποιήσουν.
Νίκος
Προσπαθώ να κάνω κάποιες αλλαγές σε ένα vqmod addon. Υπάρχει ένα αρχείο xml στον κατάλογο /vqmod/xml, μέσα από το οποίο γίνεται αναζήτηση κάποιου κειμένου σε άλλα, σχετικά αρχεία και αντικατάσταση αυτού με άλλο κείμενο, ώστε να επιτευχθεί το επιθυμητό αποτέλεσμα. (ξέρω ακούγεται λίγο αόριστο αυτό, όμως συνεχίστε το διάβασμα, έχω τους λόγους μου ;-)
Ψάχνει λοιπόν για το κείμενο "[CDATA[$_['text_title'] = 'μπλαμπλα';]]" και το αντικαθιστά με το [CDATA[$_['text_title'] = '%s';]].
Αυτό που προσπαθώ να κάνω εγώ είναι το να αντικαταστήσω το περιεχόμενο της μεταβλητής σε κείμενο (%s) με άλλη, νέα μεταβλητή που θέλω να χρησιμοποιήσω παρακάτω... Δηλαδή κάτι σαν: $this->config->get('μπλαμπλα').
Έχω χαθεί όμως, γιατί αφενός δε μπορώ να καταλάβω πως περνάει η %s (στη model γίνεται η κλήση και περνάει από εκεί; ιδέα δεν έχω, ακόμα ψάχνομαι...) και γιατί δεν παίζει η αντικατάστασή της με κάτι άλλο (δεν το κάνω σωστά;)
Εάν έχει κάποιος τις γνώσεις και του προγραμματισμού σε php, αλλά και της δομής του opencart και μπορεί να βοηθήσει, ίσως εκτός από εμένα βοηθήσει και άλλους στο να καταστούν ικανοί να πραγματοποιήσουν αλλαγές που πιθανόν απαιτούν/επιθυμούν, αλλά δεν είναι σε θέση να υλοποιήσουν.
Νίκος
Αυτό που ψάχνεις βρίσκεται στο controler. Για να καταλάβεις πως λειτουργεί ο μηχανισμός με το %s, διάβασε το manual του function sprintf()Έχω χαθεί όμως, γιατί αφενός δε μπορώ να καταλάβω πως περνάει η %s (στη model γίνεται η κλήση και περνάει από εκεί; ιδέα δεν έχω, ακόμα ψάχνομαι...) και γιατί δεν παίζει η αντικατάστασή της με κάτι άλλο (δεν το κάνω σωστά;)
PeoplesCode.com
Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Τεχνική Υποστήριξη OpenCart
Opencart-Hellas.gr - Η Ελληνική κοινότητα του Opencart
Πλήρης Ελληνική μετάφραση OpenCart
Μάλλον δεν τα είπα καλά... Ξαναδοκιμάζω ;-)
Mέσω κάποιας sprintf(), ή printf() θα περάσει η παράμετρος που θα χρησιμοποιηθεί στη θέση της %s. Όταν δηλαδή κληθεί η sprinf(), θα έχει ως όρισμα και το "περιεχόμενο" της %s.
Το πρώτο μέρος των ορισμάτων της sprintf() που αφορά στο string που θα "τυπωθεί", είναι αυτό που περιέχει το <<%s>> και που μπορώ να εντοπίσω στον κώδικα.
Αυτό που δε μπορώ να βρω, είναι το δεύτερο όρισμα της sprintf() που αφορά στο "περιεχόμενο" της %s. Αυτό λογικά θα βρίσκεται στον controller που λες και εσύ(;) Αυτός που είναι; Έχουμε διεύθυνση; Τηλέφωνο; Λογικά εκεί θα πρέπει να κάνω τις αλλαγές που θέλω, ώστε να αλλάξω το "περιεχόμενο" της %s...
Ελπίζω τώρα να "βγάζω" περισσότερο νόημα ;-)
Mέσω κάποιας sprintf(), ή printf() θα περάσει η παράμετρος που θα χρησιμοποιηθεί στη θέση της %s. Όταν δηλαδή κληθεί η sprinf(), θα έχει ως όρισμα και το "περιεχόμενο" της %s.
Το πρώτο μέρος των ορισμάτων της sprintf() που αφορά στο string που θα "τυπωθεί", είναι αυτό που περιέχει το <<%s>> και που μπορώ να εντοπίσω στον κώδικα.
Αυτό που δε μπορώ να βρω, είναι το δεύτερο όρισμα της sprintf() που αφορά στο "περιεχόμενο" της %s. Αυτό λογικά θα βρίσκεται στον controller που λες και εσύ(;) Αυτός που είναι; Έχουμε διεύθυνση; Τηλέφωνο; Λογικά εκεί θα πρέπει να κάνω τις αλλαγές που θέλω, ώστε να αλλάξω το "περιεχόμενο" της %s...
Ελπίζω τώρα να "βγάζω" περισσότερο νόημα ;-)
Θα πρέπει σε πρώτη φάση να κατανοείς πως λειτουργεί η λογική MVC (Model–View–Controller) και να έχεις στοιχειώδεις γνώσεις PHP και OOP (Object-oriented programming). Για κάθε view αρχείο υπάρχει και το αντίστοιχο αρχείο controler που δηλώνεται το αρχείο γλώσσας που θες να χρησιμοποιεί και με το παρακάτω κώδικα περνάει στο view πχ
Στο controler δηλώνεις ...
$this->language->load('product/product');
$this->data['text_minimum'] = sprintf($this->language->get('text_minimum'), $product_info['minimum']);
στο view χρησιμοποιείς ...
<?php echo $text_minimum'; ?>
Στο controler δηλώνεις ...
$this->language->load('product/product');
$this->data['text_minimum'] = sprintf($this->language->get('text_minimum'), $product_info['minimum']);
στο view χρησιμοποιείς ...
<?php echo $text_minimum'; ?>
PeoplesCode.com
Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Τεχνική Υποστήριξη OpenCart
Opencart-Hellas.gr - Η Ελληνική κοινότητα του Opencart
Πλήρης Ελληνική μετάφραση OpenCart
Who is online
Users browsing this forum: No registered users and 4 guests