Post by geonick » Tue Aug 14, 2012 4:41 pm

Ψάχνομαι σχετικά με κάποιες αλλαγές που θα ήθελα να κάνω στον κώδικα και σκέφτηκα να δημοσιεύσω τις σκέψεις μου, ώστε να οφεληθούν και άλλοι από τη συζήτηση που (εύχομαι ότι) θα προκύψει σχετικά.

Προσπαθώ να κάνω κάποιες αλλαγές σε ένα vqmod addon. Υπάρχει ένα αρχείο xml στον κατάλογο /vqmod/xml, μέσα από το οποίο γίνεται αναζήτηση κάποιου κειμένου σε άλλα, σχετικά αρχεία και αντικατάσταση αυτού με άλλο κείμενο, ώστε να επιτευχθεί το επιθυμητό αποτέλεσμα. (ξέρω ακούγεται λίγο αόριστο αυτό, όμως συνεχίστε το διάβασμα, έχω τους λόγους μου ;-)

Ψάχνει λοιπόν για το κείμενο "[CDATA[$_['text_title'] = 'μπλαμπλα';]]" και το αντικαθιστά με το [CDATA[$_['text_title'] = '%s';]].

Αυτό που προσπαθώ να κάνω εγώ είναι το να αντικαταστήσω το περιεχόμενο της μεταβλητής σε κείμενο (%s) με άλλη, νέα μεταβλητή που θέλω να χρησιμοποιήσω παρακάτω... Δηλαδή κάτι σαν: $this->config->get('μπλαμπλα').

Έχω χαθεί όμως, γιατί αφενός δε μπορώ να καταλάβω πως περνάει η %s (στη model γίνεται η κλήση και περνάει από εκεί; ιδέα δεν έχω, ακόμα ψάχνομαι...) και γιατί δεν παίζει η αντικατάστασή της με κάτι άλλο (δεν το κάνω σωστά;)

Εάν έχει κάποιος τις γνώσεις και του προγραμματισμού σε php, αλλά και της δομής του opencart και μπορεί να βοηθήσει, ίσως εκτός από εμένα βοηθήσει και άλλους στο να καταστούν ικανοί να πραγματοποιήσουν αλλαγές που πιθανόν απαιτούν/επιθυμούν, αλλά δεν είναι σε θέση να υλοποιήσουν.

Νίκος

New member

Posts

Joined
Sun May 13, 2012 3:03 pm

Post by People's Code » Tue Aug 14, 2012 8:28 pm

Έχω χαθεί όμως, γιατί αφενός δε μπορώ να καταλάβω πως περνάει η %s (στη model γίνεται η κλήση και περνάει από εκεί; ιδέα δεν έχω, ακόμα ψάχνομαι...) και γιατί δεν παίζει η αντικατάστασή της με κάτι άλλο (δεν το κάνω σωστά;)
Αυτό που ψάχνεις βρίσκεται στο controler. Για να καταλάβεις πως λειτουργεί ο μηχανισμός με το %s, διάβασε το manual του function sprintf()

PeoplesCode.com
Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Τεχνική Υποστήριξη OpenCart
Opencart-Hellas.gr - Η Ελληνική κοινότητα του Opencart
Πλήρης Ελληνική μετάφραση OpenCart


User avatar
Active Member

Posts

Joined
Fri Jul 27, 2012 5:30 am
Location - Hellas

Post by geonick » Wed Aug 15, 2012 5:03 am

Μάλλον δεν τα είπα καλά... Ξαναδοκιμάζω ;-)

Mέσω κάποιας sprintf(), ή printf() θα περάσει η παράμετρος που θα χρησιμοποιηθεί στη θέση της %s. Όταν δηλαδή κληθεί η sprinf(), θα έχει ως όρισμα και το "περιεχόμενο" της %s.

Το πρώτο μέρος των ορισμάτων της sprintf() που αφορά στο string που θα "τυπωθεί", είναι αυτό που περιέχει το <<%s>> και που μπορώ να εντοπίσω στον κώδικα.

Αυτό που δε μπορώ να βρω, είναι το δεύτερο όρισμα της sprintf() που αφορά στο "περιεχόμενο" της %s. Αυτό λογικά θα βρίσκεται στον controller που λες και εσύ(;) Αυτός που είναι; Έχουμε διεύθυνση; Τηλέφωνο; Λογικά εκεί θα πρέπει να κάνω τις αλλαγές που θέλω, ώστε να αλλάξω το "περιεχόμενο" της %s...

Ελπίζω τώρα να "βγάζω" περισσότερο νόημα ;-)

New member

Posts

Joined
Sun May 13, 2012 3:03 pm

Post by People's Code » Wed Aug 15, 2012 9:10 am

Θα πρέπει σε πρώτη φάση να κατανοείς πως λειτουργεί η λογική 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'; ?>

PeoplesCode.com
Επίσημος Αντιπρόσωπος OpenCart | Extensions - Φιλοξενία - Αναβάθμιση - Τεχνική Υποστήριξη OpenCart
Opencart-Hellas.gr - Η Ελληνική κοινότητα του Opencart
Πλήρης Ελληνική μετάφραση OpenCart


User avatar
Active Member

Posts

Joined
Fri Jul 27, 2012 5:30 am
Location - Hellas

Post by geonick » Thu Aug 16, 2012 12:07 am

Τη βρήκα τη sprintf() που έψαχνα!!! Πλέον οι αλλαγές που κάνω, όντως αλλάζουν αυτό που θέλω... Απλά μένει να καταλήξω στο πως θα γίνει αυτό που θέλω...

Ευχαριστώ για τη βοήθεια!

New member

Posts

Joined
Sun May 13, 2012 3:03 pm
Who is online

Users browsing this forum: No registered users and 2 guests