Elxis CMS Forum
Ελληνικό Forum => Διαχείριση => Topic started by: nikos on February 12, 2013, 17:03:40
-
Αντιμετωπίζω ένα θέμα ανάθεσης module στο Elxis 4.0 που με έχει προβληματίσει και θα παρακαλούσα την γνώμη σας. (Θα μπορούσα να το θέσω και στην Αγγλική αλλά φοβάμαι μήπως δεν γίνω κατανοητός).
Έχω ένα site σε Elxis 4.0 σε 2 γλώσσες Ελληνικά (ορισμένη ως κύρια γλώσσα) και Αγγλικά (ως δεύτερη). Όλη η δόμηση περιεχομένου μου είναι στην Ελληνική έχοντας φυσικά μεταφράσει και τα αντίστοιχα (κατηγορίες, άρθρα, μενού κ.λ.π.) στην Αγγλική.
Θέλω λοιπόν στην Αρχική Σελίδα για κάθε γλώσσα να εμφανίσω rss feeds από 2 διαφορετικές URLs (sites από όπου αντλώ τα αντίστοιχα rss feeds). Προς τούτο κάνω χρήση του mod_eirssfeed που έχω ορίσει να εμφανίζεται στην θέση frontpage2 και το έχω αναθέσει στο mainmenu στην Αρχική.
Και εδώ γεννιέται το πρόβλημα: Δηλ. αναθέτοντας το module να εμφανίζεται στην Αρχική όταν είμαι στην Ελληνική έκδοση, εμφανίζονται ελληνικά rss feeds στην πρώτη σελίδα. Όταν όμως αλλάζω την γλώσσα σε Αγγλικά εμφανίζονται τα ελληνικά και εκεί, πράγμα που δεν θέλω. Και αν αντιγράψω το module θέτοντας στις παραμέτρους την αντίστοιχη URL για τα Αγγλικά rss feeds θα μου τα δείχνει και στις 2 γλώσσες όλα, πράγμα που επίσης δεν θέλω.
Πώς λοιπόν μπορώ να διαχωρίσω την εμφάνιση - ανάθεση του module βάσει γλώσσας;
-
Τελικά είναι απλό.
Η λύση λοιπόν είναι να δημιουργήσω ένα user module τρέχοντας στον editor για κάθε γλώσσα το αντίστοιχο plugin eirssfeed με τις URLs που θέλω να εμφανίσω.
-
Νομίζω ότι το καλύτερο θα ήταν να τροποοιήσεις ελαφρά το mod_eirssfeed ώστε να του δίνεις διαφορετική url ανάλογα της γλώσσας.
Αυτό μπορεί να γίνει πολύ εύκολα κάνοντας την σχετική παράμετρο πολυγλωσσική.
<param type="text" ... multilingual="1" />
Και μετά στο php αρχείο παίρνεις την τιμή της παραμέτρου αντί με το "getML" αντί του "get":
$x = $params->getML(...);
Τεκμηρίωση παραμέτρων XML (https://www.elxis.net/docs/el/developers/libraries/elxisparameters.html) - Οδηγός κατασκευής module (https://www.elxis.net/docs/el/developers/tutorials/modules-guide.html)
-
Σ' ευχαριστώ Γιάννη
Αρχικά μια τέτοια λύση έψαχνα, κοιτάζοντας τον κώδικα του module, αλλά δεν ήμουν σίγουρος που ακριβώς τι να αλλάξω.