πως γινετε με joomla?

Adobe Photoshop, Flash, DreamWeaver, FireWorks, Contribute, FreeHand, Director.

Δημοσίευσηαπό fotisevangelou » 23.06.07, 11:15 am

1. Το Joomla! έχει ένα πολύ ευέλικτο και εύκολο στην εκμάθηση API για την ανάπτυξη οποιασδήποτε εφαρμογής. :)

2. Το ότι είναι το πιο δημοφιλές CMS δεν είναι σύνθημα, αλλά πραγματικότητα. :)

3. Όσον αφορά το templating, είναι πανεύκολο για τον οποιονδήποτε έχει βασικές γνώσεις HTML/CSS. Τώρα, αν αναφέρεσαι σε γραφίστα που ξέρει μόνο photoshop, ε, εκεί κανένα CMS δεν κάνει θαύματα...

4. Για τους νέους, δε, το Joomla! είναι πιο εύκολο από τα άλλα δημοφιλή CMS (βλ. Drupal, Wordpress, XOOPS κλπ.) γιατί απλούστατα μαθαίνεται πιο εύκολα. Σε αυτό βοηθά και η μεγάλη κοινότητα.

5. Και κάτι ακόμη. Λένε ότι το καλό CMS από τα templates του φαίνεται. Προφανώς το Joomla κερδίζει άνετα σε αυτό το κομμάτι. ;)

Αν θέλεις να ρωτήσεις κάτι πιο συγκεκριμένο, ευχαρίστως να σε βοηθήσω. :)
Άβαταρ μέλους
fotisevangelou
Member
 
Posts: 25
Εγγραφή: 18.07.06, 12:17 pm

Δημοσίευσηαπό fotisevangelou » 23.06.07, 11:17 am

Για το 2. να συμπληρώσω αυτό:
http://www.google.com/trends?q=joomla%2 ... s%2C+mambo
Άβαταρ μέλους
fotisevangelou
Member
 
Posts: 25
Εγγραφή: 18.07.06, 12:17 pm

Δημοσίευσηαπό cpulse » 23.06.07, 12:21 pm

Φώτη καλώς ή κακώς αυτό το trend άμα το γυρίσεις μόνο για Αμερική θα σου βγάλει το WordPress 1ο και με διαφορά. Βέβαια φαίνεται οτι και η Αμερική σιγά σιγά το γυρνάει σε Joomla.
/* code == fun */
Άβαταρ μέλους
cpulse
Senior Member
 
Posts: 848
Εγγραφή: 03.04.06, 11:42 pm

Δημοσίευσηαπό fotisevangelou » 23.06.07, 12:28 pm

cpulse έγραψε:Βέβαια φαίνεται οτι και η Αμερική σιγά σιγά το γυρνάει σε Joomla.


Με τα μπούνια θα έλεγα!! LOL!!

PS Good luck με το BonusThemes ;)

PS2 Edit στα posts γιατί δεν μπορούμε να κάνουμε;
Άβαταρ μέλους
fotisevangelou
Member
 
Posts: 25
Εγγραφή: 18.07.06, 12:17 pm

Δημοσίευσηαπό Theo » 25.06.07, 5:43 pm

fotisevangelou έγραψε:
5. Και κάτι ακόμη. Λένε ότι το καλό CMS από τα templates του φαίνεται. Προφανώς το Joomla κερδίζει άνετα σε αυτό το κομμάτι. ;)


Προφανώς δεν μπήκες καν στον κόπο να διαβάσεις λίγο τα προηγούμενα posts....


fotisevangelou έγραψε:Αν θέλεις να ρωτήσεις κάτι πιο συγκεκριμένο, ευχαρίστως να σε βοηθήσω. :)


Πιο συγκεκριμένος απ'ότι ήμουν δε γίνεται φίλε fotisevangelou, έθεσα ένα συγκεκριμένο και πρακτικό παράδειγμα (αλλαγή θέσης εικονιδίων εκτύπωσης κτλ) για να βοηθήσω τη συζήτηση.
Δούλεψε λίγο πάνω σε αυτό και μετά πες μας κάτι πιο συγκεκριμένο πέρα από τις αοριστολογίες που μας είπες.

Αφού υποστηρίζεις ότι γνωρίζεις καλά το ευέλικτο API για την ανάπτυξη εφαρμογών του Joomla και βέβαια το έχεις συγκρίνει με αρκετά άλλα WCMS και το έχεις βρει ανώτερο, τότε τι το καλύτερο να μας περιγράψεις αναλυτικά και βήμα προς βήμα πως θα φτιάξεις την παρακάτω απλή εφαρμογή.
Υστερα εγώ με τη σειρά μου θα αναλύσω την κατασκευή της ίδιας εφαρμογής με άλλο WCMS ετσι ώστε να διαπιστώσουμε ποιο σύστημα είναι πιο ευέλικτο και εύκολο στην κατασκευή, παραμετροποίηση και συντήρηση.

---------------
Θέλουμε να φτιάξουμε έναν κατάλογο με οίνους, οινοποιούς, ετικέτες του κάθε οινοποιού, ποικιλίες αμπέλου, γεωγραφική προέλευση.
Οπως βλέπουμε έχουμε ήδη τις εξής κλάσεις:
- Τύπος Oίνου
- Οινοποιός
- Ετικέτα
- Ποικιλία αμπέλου
- Γεωγραφική προέλευση

Βλέπουμε επίσης ότι η σχέση αυτών των κλάσεων είναι σε αρκετές περιπτώσεις many-to-many (δηλαδή ένας τύπος Οίνου μπορεί να παράγεται από πολλούς Οινοποιούς και σε πολλές Γεωγραφικές Προελεύσεις).

Θέλουμε διαχειριστικό σύστημα με τις ανάλογες φόρμες καταχώρησης των δεδομένων και της δημιουργίας των συσχετίσεων, καθώς και εύκολα, ευέλικτα templates για την παρουσίαση των δεδομένων.

Θέλουμε επίσης αναζήτηση απλή καθώς και προχωρημένη δηλαδή να μπορεί ο χρήστης να επιλέξει την κλάση η κλάσεις που θέλει να κανει αναζήτηση. (π.χ. αναζήτηση σε Οινοποιούς).
-------------

Περιέγραψέ μας αναλυτικά τη διαδικασία που μπορεί να γίνει αυτό στο Joomla και μετά θα περιγράψω και εγώ την ίδια ακριβώς διαδικασία με άλλο σύστημα ώστε να συγκρίνουμε το αποτέλεσμα ως προς την ευκολία κατασκευής, την ευκολία τροποποίησης, την ευκολία συντήρησης και την λειτουργικότητα.

Μιας και μιλάμε για API, καλό θα είναι να αποφύγουμε τη χρήση extentions, components κτλ. και να κάνουμε ότι κάνουμε χρησιμοποιώντας μόνο το βασικό WCMS.

Αναμένουμε την αναλυτική σου απάντηση,

Θ.Π.

BTW αν θέλεις να βοηθήσεις κάποιον.., εδώ είναι μια καλή αρχή:
http://en.wikipedia.org/wiki/Model-view-controller
Theo
Senior Member
 
Posts: 553
Εγγραφή: 29.04.06, 10:33 pm

Δημοσίευσηαπό fotisevangelou » 25.06.07, 7:06 pm

Δεν καταλαβαίνω τον επιθετικό τόνο σου και τι ζόρι τραβάς. Δεν ξέρεις να αλλάξεις τη θέση των εικονιδίων print/email/pdf και θες γρήγορο tutorial για component development; Χαλάρωσε λιγάκι...

Για να μην κουράζεσαι πάντως, υπάρχει ήδη component για wine directory. Δες το εδώ:
http://extensions.joomla.org/component/ ... Itemid,35/

Έχει πολύ περισσότερα από αυτά που προτείνεις. Το μόνο που θα χρειαστεί να κάνεις είναι κανα styling. Πες μου τώρα αν θα έβρισκες κάτι τέτοιο σε οποιoδήποτε άλλο CMS, ε?

Και για τα έρμα τα εικονίδια, 2 αρχεία πρέπει να πιλατέψεις, σιγά τα ωά:
- component/com_content/content.html.php για τη θέση των 3 εικονιδίων
- includes/joomla.php για το html μόνο του print.

Και να για να μην πολυλογούμε, χτύπα joomlaworks στο google και θα δεις πόσο "αοριστολόγος" είμαι και τι ξέρω γύρω από το ρημάδι που το λένε joomla. Εσένα περίμενα να μου το υποδείξεις. Πάρτε θράσος έναν τύπο... :x
Άβαταρ μέλους
fotisevangelou
Member
 
Posts: 25
Εγγραφή: 18.07.06, 12:17 pm

Δημοσίευσηαπό fotisevangelou » 25.06.07, 7:08 pm

BTW, μη γκρινιάζεις και πολύ για το Joomla, καθώς είδα το χρησιμοποιείς σε αρκετά σαιτάκια σου... :wink:
Άβαταρ μέλους
fotisevangelou
Member
 
Posts: 25
Εγγραφή: 18.07.06, 12:17 pm

Δημοσίευσηαπό LNinio » 25.06.07, 8:53 pm

Μπαρούτι μου μυρίζει πάλι :? :? :?
Ψυχραιμία παιδιά. Καλά είχαμε ηρεμήσει (ως forum) για καμιά βδομάδα!!!
Άβαταρ μέλους
LNinio
Old Member
 
Posts: 1333
Εγγραφή: 03.04.06, 1:32 pm
Τοποθεσία: Area 52

Δημοσίευσηαπό Theo » 25.06.07, 10:58 pm

fotisevangelou έγραψε:Δεν καταλαβαίνω τον επιθετικό τόνο σου και τι ζόρι τραβάς. Δεν ξέρεις να αλλάξεις τη θέση των εικονιδίων print/email/pdf και θες γρήγορο tutorial για component development; Χαλάρωσε λιγάκι...


Αναρωτιέμαι φίλε fotisevangelou αν καταλαβαίνεις πραγματικά τα παραπάνω post μου. Γιατί αποφεύγεις να απαντήσεις με ακρίβεια σε αυτά τα ερωτήματα που έχω θέσει?
Ημουνα όσο γίνεται πιο συγκεκριμένος βοήθα και συ λίγο την κατάσταση.


fotisevangelou έγραψε:Για να μην κουράζεσαι πΔες το εδώ:
υπάρχει ήδη component για wine directory.


Φίλε fotisevangelou, όλοι γνωρίζουμε πολύ καλά ότι το παράδειγμα που έφερα αφορά τις δυνατότητες που σου προσφέρει το Joomla framework για τη ΔΗΜΙΟΥΡΓΙΑ εφαρμογών.
Εσύ ο ίδιος ανέφερες ότι "το Joomla έχει ένα ευέλικτο API...".
Γιατί λοιπόν αποφεύγεις να μας δείξεις πόσο ευέλικτο είναι το API του Joomla?

Και για να το επαναλάβω μια φορά ακόμα, αφού εσύ μας κάνεις βήμα προς βήμα ανάλυση της εφαρμογής αυτής με το Joomla framework, υπόσχομαι και εγώ να δημιουργήσω βήμα προς βήμα την αντίστοιχη εφαρμογή χρησιμοποιώντας άλλο framework. Επειτα θα μπορέσουμε να συγκρίνουμε τα διαφορετικά frameworks στην πράξη.


fotisevangelou έγραψε:Και να για να μην πολυλογούμε, χτύπα joomlaworks στο google και θα δεις πόσο "αοριστολόγος" είμαι και τι ξέρω γύρω από το ρημάδι που το λένε joomla. Εσένα περίμενα να μου το υποδείξεις. Πάρτε θράσος έναν τύπο... :x


Για μένα "αοριστολόγος" είναι όποιος δεν μπορεί να αποδείξει ΣΤΗΝ ΠΡΑΞΗ αυτά που ισχυρίζεται.
Το Mambo το χρησιμοποιώ αρκετά χρόνια πριν γίνει "δημοφιλές" και μπορώ να πω ότι το έχω "σκαλίσει" αρκετά. Εχω φτιάξει αρκετά sites με αυτό, ορισμένα μάλιστα με αρκετές αλλαγές στα core αρχεία.
Μ'αρέσουν αρκετά πράγματα από αυτό όπως μου αρέσουν αρκετά πράγματα από πολλά άλλα WCMS.

Μου αρέσει να ψάχνω και να μαθαίνω και γι'αυτό ίσως να γίνομαι λίγο πιεστικός, αν όμως μου αποδείξει κάποιος ΣΤΗΝ ΠΡΑΞΗ τα πλεονεκτήματα μιας επιλογής λογισμικού θα χαρώ πολύ να πεισθώ!

Περιμένω απάντηση επί της ουσίας πάνω στην μίνι εφαρμογή που περιέγραψα προηγουμένως.
Αν προτιμάς περιέγραψέ μας εσύ μια απλή (custom) εφαρμογή και την δημιουργία της step_by_step με το Joomla και εγώ θα σου δημιουργήσω την ίδια ακριβώς εφαρμογή με άλλο framework ώστε να μπορέσουμε να συγκρίνουμε τις λύσεις μας.

Ειλικρινά θα χαρώ πολύ να πεισθώ από τη λύση σου, εδώ και αρκετά χρόνια ξοδεύω μεγάλο μέρος από τό χρόνο μου να δοκιμάζω και να ψάχνω λύσεις σε WCMS και αρκετές φορές αυτό το "ψάξιμο" υπερβαίνει και το χρόνο της "δουλειάς" μου.
Πείσε με λοιπόν, θα μου κάνεις μεγάλη χάρη!


Φιλικά,

Θ.Π.
Theo
Senior Member
 
Posts: 553
Εγγραφή: 29.04.06, 10:33 pm

Δημοσίευσηαπό notis » 25.06.07, 11:01 pm

Εγω ψηφιζω theo παντως, ετσι for the records
Τουλαχιστον μας εχει αποδειξει την αξια του!

...και χεστηκα αν θα παρει φωτια το thread! :twisted:
Άβαταρ μέλους
notis
Master Admin
 
Posts: 3697
Εγγραφή: 23.02.04, 1:36 pm
Τοποθεσία: Corinth

Δημοσίευσηαπό Theo » 26.06.07, 3:08 am

Για να μην ενοχλώ άλλο τον φίλο fotisevangelou και επειδή η καθημερινή προπόνηση (στο τρέξιμο) μου φέρνει αϋπνίες, αρχίζω εγώ την δημιουργία της μίνι εφαρμογής που περιέγραψα. Αν κάποιος έχει την ευγενή διάθεση να βοηθήσει με τη δημιουργία αυτής της μίνι-εφαρμογής με το Joomla καλοδεχούμενος!
(Eχετε υπόψη σας ότι το υπάρχων wine component του Joomla ΔΕΝ καλύπτει τις απαιτήσεις της εφαρμογής μας, αλλοίμονο αν σαν developers βασιζόμαστε μόνο σε "ετοιματζίδικες" εφαρμογές).

Θυμίζω πάλι τις απαιτήσεις της εφαρμογής μας.

ΑΠΑΙΤΗΣΕΙΣ ΕΦΑΡΜΟΓΗΣ
-----------------------------
Θέλουμε να φτιάξουμε έναν κατάλογο με οίνους, οινοποιούς, ετικέτες του κάθε οινοποιού, ποικιλίες αμπέλου, γεωγραφική προέλευση.
Οπως βλέπουμε έχουμε ήδη τις εξής κλάσεις:
- Τύπος Oίνου
- Οινοποιός
- Ετικέτα
- Ποικιλία αμπέλου
- Γεωγραφική προέλευση

Βλέπουμε επίσης ότι η σχέση αυτών των κλάσεων είναι σε αρκετές περιπτώσεις many-to-many (δηλαδή ένας τύπος Οίνου μπορεί να παράγεται από πολλούς Οινοποιούς και σε πολλές Γεωγραφικές Προελεύσεις).

Πιο απλά και για να μην σας πρήζω με διαγράμματα συσχετίσεων θέλουμε τα εξής:

- Ο κάθε Οινοποιός μπορεί να έχει απεριόριστες Ετικέτες.
- Η κάθε Ετικέτα μπορεί να αποτελείται από απεριόριστες Ποικιλίες Αμπέλου, Γεωγραφικές Προελεύσεις, Τύπους Οίνου.
- Η κάθε Ετικέτα μπορεί να ανήκει μόνο σε έναν Οινοποιό.
- Ο κάθε Τύπος Οίνου μπορεί να περιλαμβάνει απεριόριστες Ετικέτες.

Σταματάω εδώ, αυτά τα λίγα αρκούν για το παράδειγμα.

Θέλουμε διαχειριστικό σύστημα με τις ανάλογες φόρμες καταχώρησης των δεδομένων και της δημιουργίας των συσχετίσεων, καθώς και εύκολα, ευέλικτα templates για την παρουσίαση των δεδομένων.

Θέλουμε επίσης αναζήτηση απλή καθώς και προχωρημένη δηλαδή να μπορεί ο χρήστης να επιλέξει την κλάση η κλάσεις που θέλει να κανει αναζήτηση. (π.χ. αναζήτηση σε Οινοποιούς).
------------------------------

Για την εφαρμογή αυτή θα χρησιμοποιήσω το eZ publish CMS και θα προσπαθήσω να γράψω όσο το λιγότερο δυνατό κώδικα γίνεται.
Επίσης θα προσπαθήσω η εφαρμογή να είναι εύκολη στην συντήρηση καθώς και στις αναβαθμίσεις του συστήματος. (Ολοι ξέρουμε πόσο συχνά κάνουμε αναβαθμίσεις σε Open Source λογισμικό, έτσι δεν είναι?).

Ξεκινάμε λοιπόν δημιουργώντας τις απαραίτητες κλάσεις της εφαρμογής μας. Η κάθε κλάση με τις ιδιότητές της (π.χ. η κλάση Οινοποιός έχει σαν ιδιότητες Ονομα, διεύθυνση κτλ).
Το eZ publish διαθέτει λειτουργίες που απλοποιούν εξαιρετικά τη δημιουργία νέων κλάσεων.

1) Πάμε στο Ρυθμίσεις > Τάξεις > Περιεχόμενο
Βλέπουμε όλες τις τάξεις/κλάσεις που υπάρχουν στο σύστημα.
Εικόνα

2) Κάνοντας κλίκ στο πρώτο εικονίδιο δεξιά δημιουργούμε ένα αντίγραφο της τάξης "Αρθρο" για να το χρησιμοποιήσουμε σαν πρότυπο για την νέα κλάση μας "Τύπος Κρασιού". Βλέπουμε ότι δημιουργείται ένα "Αντίγραφο της(τάξης) Αρθρο".
Εικόνα

3) Κανοντας κλίκ στο δεύτερο εικονίδιο δεξιά κάνουμε επεξεργασία το "Αντίγραφο της Αρθρο".
Αλλάζουμε το όνομα, το αναγνωριστικό, αφαιρούμε τις άχρηστες ιδιότητες, προσθέτουμε τις δικές μας ιδιότητες χρησιμοποιώντας τους υπάρχοντες τύπους δεδομένων του eZ publish και τέλος ταξινομούμε τις ιδιότητες της τάξης στη σειρά που θέλουμε χρησιμοποιώντας τα βελάκια.
Εικόνα

4) Τέλος κλίκ στο ΟΚ και η νέα τάξη μας "Τύπος Κρασιού" αποθηκεύεται και εμφανίζεται στο σύστημα.

Εικόνα

5) Ακολουθώντας πάλι τα βήματα 1 έως 4 δημιουργούμε όλες τις απαραίτητες κλάσεις της εφαρμογής μας, δηλαδή Οινοποιός, Ετικέτα, Ποικιλία αμπέλου, Γεωγραφική προέλευση.

6) Kάνουμε πάλι επεξεργασία(κάνοντας κλίκ στο αντίστοιχο εικονίδιο) τις τάξεις μας και χρησιμοποιώντας το μενού "Προσθήκη ιδιότητας", προσθέτουμε την ιδιότητα "Συσχετίσεις Αντικειμένων" η "Συσχετίσεις Αντικειμένου" για one_to_one η one_to_many συσχετίσεις.
Επιλέγουμε την τάξη συσχέτισης και κάνουμε κλίκ στο ΟΚ.
Εικόνα

TADAAΑ, TADAAΑΑΑ, με μερικά κλίκ και έπειτα από ελάχιστα λεπτά έχουμε ήδη τις κλάσεις μας και τις μεταξύ των συσχετίσεις έτοιμες!
Και βέβαια το σύστημα δημιουργεί και τις αντίστοιχες φόρμες του διαχειριστικού για την εισαγωγή των δεδομένων! Wow!

Εικόνα

Αντε να φτιάξουμε και τα templates παρουσίασης και τελειώσαμε παίδες.

Συνέχεια των εκπλήξεων στο δεύτερο post...
Theo
Senior Member
 
Posts: 553
Εγγραφή: 29.04.06, 10:33 pm

Δημοσίευσηαπό Theo » 28.06.07, 3:01 am

Ok, ας συνεχίσουμε με την εφαρμογή μας αφού δε βλέπω κανέναν να ανταπαντάει σε αυτά που περιέγραψα αρκετά αναλυτικά παραπάνω...

Είδαμε στο προηγούμενο post πόσο απλά, εύκολα και γρήγορα, χωρίς να γράψουμε ούτε μιά γραμμή κώδικα φτιάξαμε τις απαραίτητες κλάσεις και τους συσχετισμούς τους. Το σύστημα δημιούργησε αυτόματα τις απαραίτητες φόρμες εισαγωγής δεδομένων τις οποίες βέβαια μπορούμε να μορφοποιήσουμε με CSS!

Δεν έχουμε παρά να φτιάξουμε τα templates παρουσίασης των κλάσεών μας και τελειώσαμε.

Για να γίνω πιο κατανοητός σε όσους τυχαίνει να μην έχουν την τυπική εκπαίδευση μηχανικού λογισμικού και όροι όπως "κλάση", "ιδιότητες κλάσης", "συσχέτιση κλάσεων", "πρότυπα/templates" κτλ. μοιάζουν μπερδεμένοι, θα προσπαθήσω να τα απλοποιήσω όσο γίνεται περισσότερο.

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗ ΣΥΣΤΗΜΑΤΑ
Στα αντικειμενοστραφή συστήματα (object oriented) όπως το eZ publish, τα δεδομένα μας οτιδήποτε και αν είναι αυτά π.χ. άρθρο, χρήστης, αρχείο, εικόνα, Οίνος, Οινοποιός, Ποικιλία Αμπέλου, κτλ. αντιμετωπίζονται ώς "αντικείμενα" (objects).

Αυτά τα "αντικείμενα" για να δημιουργηθούν χρειάζονται ένα "πρότυπο". Το πρότυπο αυτό είναι η "Κλάση" και το φτιάχνουμε εμείς με τον τρόπο που είδαμε παραπάνω καθορίζοντας τις "Ιδιότητές" του καθώς και τη "Σχέση" του μέ άλλες κλάσεις.
Ετσι λοιπόν κάθε φορά που δημιουργούμε ένα νέο "αντικείμενο" (π.χ. ένα νέο άρθρο), το σύστημα δημιουργεί ένα νέο αντίτυπο(instance) της Κλάσης Αρθρο και χρησιμοποιεί για τιμές των ιδιοτήτων του νέου αντιτύπου της κλάσης μας αυτές που εισάγουμε στο συγκεκριμένο αντικείμενο.
Ετσι λοιπόν όλα τα αντικείμενα που προέρχονται από την ίδια κλάση (π.χ. όλα τα άρθρα) έχουν την ίδια δομή ιδιοτήτων απλά αλλάζουν οι τιμές των ιδιοτήτων τους.

Αυτό που ονομάζουμε "template" σε ένα αντικειμενοστραφές σύστημα είναι απλά άλλο ένα πρότυπο το οποίο καθορίζει τον τρόπο με τον οποίο θα παρουσιάζονται οι ιδιότητες της κάθε κλάσης.
Δηλαδή στην κλάση Οίνος οι ιδιότητές της μπορεί να είναι Τίτλος, Περιγραφή, Προέλευση κτλ.
Εμείς μπορεί να θέλουμε ένα template για παρουσίαση στην οθόνη του υπολογιστή που να παρουσιάζει όλες τις ιδιότητες της κλάσης μας και ένα template για παρουσίαση στην μικρούλα οθόνη ενός κινητού τηλεφώνου το οποίο να παρουσιάζει μόνο Τίτλο και Περιγραφή.
--------------------------

Επομένως πρέπει να δημιουργήσουμε τα αντίστοιχα templates για τις κλάσεις που φτιάξαμε στο προηγούμενο post.

Ξεκινάμε με την εύκολη μέθοδο, δηλαδή την αντιγραφή κάποιου υπάρχοντος template και την τροποποίησή του για τις ανάγκες μας.
Το eZ publish σου δίνει τη δυνατότητα να δεις και να επεξεργαστείς μέσα από το διαχειριστικό όλα τα templates που υπάρχουν στο σύστημα. Υπάρχουν πάρα πολλά αλλά αυτά που μας ενδιαφέρουν για την εφαρμογή μας είναι πολύ λίγα.

Εικόνα

To σύστημα μάλιστα σου δίνει τη δυνατότητα να δημιουργήσεις νέα templates η και να επεξεργαστείς υπάρχοντα, μέσω του διαχειριστικού.
Εικόνα


Τα templates είναι λογικά ταξινομημένα και εύκολα εντοπίζουμε τα δύο που μας ενδιαφέρουν το override/templates/full/article.tpl δηλαδή αυτό που παρουσιάζει το περιεχόμενο ενός άρθρου σε πλήρη (full) μορφή, και το override/templates/listitem/article.tpl δηλαδή αυτό που παρουσιάζει το περιεχόμενο σε μορφή λίστας τίτλων με links στην πλήρη μορφή (full.tpl).

Οκ, απλά αντιγράφουμε τα listitem/article.tpl και full/article.tpl ως:

wine_type.tpl
winemaker.tpl
wine_variety.tpl
wine_region.tpl
winemark.tpl

αντίστοιχα, χρησιμοποιώντας για να μην μπερδευόμαστε τα αντίστοιχα αναγνωριστικά των κλάσεών μας ώς ονόματα των templates.

Κάνουμε επεξεργασία σε κάθε ένα από τα παραπάνω templates αντικαθιστώντας τα αναγνωριστικά κλάσεων και ιδιοτήτων τους με τα δικά μας (πού είχαμε ορίσει κατά τη δημιουργία των κλάσεων).
Αφαιρούμε ότι δεν χρειάζεται και αλλάζουμε την XΗTML και τα αντίστοιχα CSS με τον τρόπο που θέλουμε, π.χ.
Κώδικας: Επιλογή όλων
{* Article - Full view *}

<div class="content-view-full">
    <div class="class-article">

        <h1>{$node.data_map.title.content|wash()}</h1>

       {*  {section show=$node.data_map.author.content.is_empty|not()}
        <div class="attribute-byline">
       <p class="author">
             {attribute_view_gui attribute=$node.data_map.author}
        </p>
        <p class="date">
             {$node.object.published|l10n(date)}
        </p>
        </div>
        {/section}*}



Ανοίγουμε το ρυθμιστικό αρχείο settings/override/override.ini.append.php
και κάνουμε τις εξής προσθήκες ώστε να ορίσουμε στο σύστημα ποιο template να χρησιμοποιεί σε κάθε κλάση μας:

[wine_types]
Source=content/view/full.tpl
MatchFile=wine_type.tpl
Subdir=templates
Match[class_identifier]=wine_type

[winemakers]
Source=content/view/full.tpl
MatchFile=winemaker.tpl
Subdir=templates
Match[class_identifier]=winemaker

[wine_variety]
Source=content/view/full.tpl
MatchFile=wine_variety.tpl
Subdir=templates
Match[class_identifier]=winevariety

[wine_region]
Source=content/view/full.tpl
MatchFile=wine_region.tpl
Subdir=templates
Match[class_identifier]=wine_region

[winemark]
Source=content/view/full.tpl
MatchFile=winemark.tpl
Subdir=templates
Match[class_identifier]=winemark


Ωραία, ας φτιάξουμε τώρα και το template της Προχωρημένης Αναζήτησης. Θα χρησιμoποιήσουμε checkboxes με τα οποία ο χρήστης θα μπορεί να ορίζει που θέλει να κάνει αναζήτηση.
Οπως ήδη καταλάβατε, απλά κάνουμε αντιγραφή το αρχείο templates/content/advancedsearch.tpl στο override/content/advancedsearch.tpl
Κάνουμε επεξεργασία του advancedsearch.tpl και ορίζουμε χρησιμοποιώντας τους αριθμούς (id) των κλάσεών μας για την αναζήτηση και αλλάζουμε στα μέτρα μας XHTML και CSS, π.χ.
Κώδικας: Επιλογή όλων
<div class="element">
<label>Ερώτηση για</label><div class="labelbreak"></div>
{section name=ContentClass loop=fetch( 'class', 'list', hash( 'class_filter', array( 17, 21, 20, 18, 19 ) ) ) }

<input type="checkbox" name="SearchContentClassID[]" {switch name=sw match=$search_contentclass_id}
{case match=$ContentClass:item.id}
checked="checked"
{/case}
{case}
{/case}
{/switch} value="{$ContentClass:item.id}" />{$ContentClass:item.name|wash}<br />

{/section}


</div>


Ok, εδώ βλέπουμε την εφαρμογή μας από τη μεριά τη χρήστη (front-end).

H λίστα Οινοποιών, κάνοντας κλίκ σε μιά εγγραφή πάμε στις λεπτομέρειες του συγκεκριμένου Οινοποιού
Εικόνα

Λεπτομέρειες του Οινοποιού με τις Ετικέτες του και links στις λεπτομέρειες Ετικέτας.
Εικόνα

Οι λεπτομέρειες της Ετικέτας με links σε Ποικιλίες Αμπέλου, Τύπους Κρασιών και Γεωγραφικές Προελεύσεις.
Εικόνα

Oι λεπτομέρειες της Ποικιλίας Αμπέλου με links στις Ετικέτες που σχετίζεται.
Εικόνα

Oι λεπτομέρειες τoυ Τύπου Οίνου με links στις Ετικέτες που σχετίζεται.
Εικόνα

Oι λεπτομέρειες της Γεωγραφικής Προέλευσης με links στις Ετικέτες που σχετίζεται.
Εικόνα

Ωραία το φτιάξαμε, με τις αναβαθμίσεις του eZpublish τι γίνεται? No problem! Oπως είδατε ΔΕΝ πειράξαμε ΚΑΝΕΝΑ core αρχείο. (Στο eZ publish βρίσκονται στον κατάλογο kernel/).
Το μόνο που αλλάξαμε είναι templates τα οποία βρίσκονται στον κατάλογο design/ και ρυθμίσεις που βρίσκονται στον κατάλογο settings/
Οταν λοιπόν αναβαθμίζουμε το eZ publish, πράγμα που μπορεί να σημαίνει αντικατάσταση των βασικών αρχείων και ενδεχόμενα αλλαγές στη βάση δεδομένων η εφαρμογή μας δεν επηρεάζεται. Το πολύ πολύ να χρειασθούμε να τροποποιήσουμε κάποιο από τα templates μας.

Με τις αλλαγές τι γίνεται? Π.χ. αν χρειασθούμε να προσθέσουμε και άλλη μια κλάση η να αλλάξουμε/πρόσθέσουμε στις ιδιότητες της κλάσης μας?
Απλά κάνουμε ότι κάναμε παραπάνω, δηλαδή τροποποιούμε τις κλάσεις μας από το διαχειριστικό και κάνουμε τις αντίστοιχες αλλαγές στα templates μας.

Αυτά τα ολίγα φίλοι, λάβετε υπόψη σας ότι είδαμε μόνο ένα πολύ μικρό μέρος των δυνατοτήτων ενός "προχωρημένου" CMS όπως το eZ publish.

Οποιος έχει γνώσεις πάνω στο Joomla και μπορεί να μας φτιάξει την παραπάνω εφαρμογή ας μας την παρουσιάσει αναλυτικά εδώ ώστε να κάνουμε τις συγκρίσεις μας, αλλιώς θα το κάνω μόνος μου πάλι????
Theo
Senior Member
 
Posts: 553
Εγγραφή: 29.04.06, 10:33 pm

Δημοσίευσηαπό Theo » 28.06.07, 3:06 am

Α, και η Προχωρημένη Αναζήτηση που φτιάξαμε, όπως εμφανίζεται στον χρήστη.

Εικόνα
Theo
Senior Member
 
Posts: 553
Εγγραφή: 29.04.06, 10:33 pm

Δημοσίευσηαπό Theo » 01.07.07, 2:35 am

notis έγραψε:Εγω ψηφιζω theo παντως, ετσι for the records
Τουλαχιστον μας εχει αποδειξει την αξια του!

...και χεστηκα αν θα παρει φωτια το thread! :twisted:


Σε ευχαριστώ πολύ Νότη!

Περίμενα και γώ να δούμε στην πράξη συγκριτικό custom εφαρμογής με το Joomla ώστε να βγάλουμε τα συμπεράσματά μας.
Δυστυχώς όμως βλέπω ότι όσο είμαστε στη θεωρία όλοι είναι πρόθυμοι να υποστηρίξουν την άποψή τους.
Οταν όμως μπαίνουμε στην πράξη, χωρίς παραξήγηση παιδιά, "την κάνουμε" διακριτικώς?
Ελπίζω να με διαψεύσετε!

Καλή Κυριακή!
Theo
Senior Member
 
Posts: 553
Εγγραφή: 29.04.06, 10:33 pm

Δημοσίευσηαπό cpulse » 01.07.07, 10:22 am

Theo ή την κάνουμε διακριτικά, ή είναι τόσα πολλά όλα αυτά που δεν μπαίνει κανείς στον κόπο να τα διαβάσει. Κι αυτό ακριβώς είναι και η απάντηση.. οτι δηλαδή χρειάζεται ακρετός χρόνος για να δεις πως μπορεί να γίνει κάτι τέτοιο που μόνο ελάχιστοι θα έδιναν.

Η βασική έκδοση του Joomla λειτουργεί με ιεραρχημένο περιεχόμενο, οπότε δεν έχει υποστήριξη για τέτοια πράγματα. Υπάρχουν όμως components. Αν προσπαθείς να αποδείξεις οτι το Joomla είναι ανίκανο, δεν το καταφέρνεις γιατί η απάντηση είναι οτι τα υποστηρίζει αλλά με components. Αυτό δεν σημαίνει βέβαια ότι άλλα CMS μπορεί να είναι καλύτερα του Joomla. Όμως όταν κρίνουμε ένα σύστημα δεν κρίνουμε μόνο το ίδιο αλλά και τους φίλους του. Αν ένα CMS υποστηρίζεται από χιλιάδες προγραμματιστές όσο λειψό και να είναι κάποια στιγμή θα βγεί ένα component που θα καλύπτει τις ανάγκες.
/* code == fun */
Άβαταρ μέλους
cpulse
Senior Member
 
Posts: 848
Εγγραφή: 03.04.06, 11:42 pm

Δημοσίευσηαπό cpulse » 01.07.07, 10:26 am

Πριν αρχίσουμε νέα λογομαχία.. να ξεκαθαρίσω λίγο αυτό που είπα.
Είναι διαφορετικές ερωτήσεις το:
1. Είναι το Joomla ικανό να βγάλει περιεχόμενο με πολλαπλές κατηγοριοποιήσεις;
2. Είναι το Joomla ανίκανο να βγάλει περιεχόμενο με πολλαπλές κατηγοριοποιήσεις;

Στην πρώτη ερώτηση η απάντηση είναι όχι είναι ικανό από μόνο του, στην δεύτερη ερώτηση πάλι οχι.. δεν είναι και ανίκανο γιατί υπάρχει η υποστήριξη από την κοινότητα.
/* code == fun */
Άβαταρ μέλους
cpulse
Senior Member
 
Posts: 848
Εγγραφή: 03.04.06, 11:42 pm

Δημοσίευσηαπό Theo » 01.07.07, 11:13 am

cpulse έγραψε:Theo ή την κάνουμε διακριτικά, ή είναι τόσα πολλά όλα αυτά που δεν μπαίνει κανείς στον κόπο να τα διαβάσει. Κι αυτό ακριβώς είναι και η απάντηση.. οτι δηλαδή χρειάζεται ακρετός χρόνος για να δεις πως μπορεί να γίνει κάτι τέτοιο που μόνο ελάχιστοι θα έδιναν.


Καλημέρα cpulse,

Σαφώς και δεν αναφερόμουνα σε σένα αφού δεν δήλωσες ειδικός για το Joomla. Κάποιος που έχει δουλέψει αρκετά με μερικά διαφορετικά CMS θα χρειασθεί λιγότερο από 3 ώρες για να φτιάξει το παράδειγμα που ανέφερα. Για να το μελετήσει, μερικά λεπτά.

cpulse έγραψε:Αν προσπαθείς να αποδείξεις οτι το Joomla είναι ανίκανο, δεν το καταφέρνεις γιατί η απάντηση είναι οτι τα υποστηρίζει αλλά με components.


Οχι ρε παιδιά, δεν προσπαθώ να αποδείξω ότι το Joomla είναι ανίκανο!
Ας μας φτιάξει κάποιος ένα component με την παραπάνω εφαρμογούλα, ας μας εξηγήσει αναλυτικά πως το έφτιαξε και ας κάνουμε μετά όλοι μαζί ένα συγκριτικό με τα υπέρ-κατά κάθε λύσης, π.χ. χρόνος κατασκευής, ευκολία τροποποίησης, αναβαθμίσεις, συντήρηση, κτλ.
(Μπορώ να το φτιάξω εγώ αλλά μετά το πιο πιθανό είναι να ειπωθεί ότι επίτηδες το έκανα να φαίνεται δυσκολότερο η να χρειάζεται πιο πολύ χρόνο).

cpulse έγραψε:Όμως όταν κρίνουμε ένα σύστημα δεν κρίνουμε μόνο το ίδιο αλλά και τους φίλους του.


Θα συμφωνήσω μαζί σου ανεπιφύλακτα.
Σκέψου και εσύ τι θα καταλάβει ο μέσος φίλος του Joomla, αν ρίξει μια ματιά στην αρχιτεκτονική ενός πραγματικού CMS σαν το Alfresco.

cpulse έγραψε:Αν ένα CMS υποστηρίζεται από χιλιάδες προγραμματιστές όσο λειψό και να είναι κάποια στιγμή θα βγεί ένα component που θα καλύπτει τις ανάγκες.


Και πάλι θα συμφωνήσω cpulse. Ξέρω ότι το Joomla έχει πάρα πολλά components που μπορεί μεν να μην έχουν ακριβώς τη λειτουργικότητα που χρειάζεσαι, μπορεί μεν να κάνουν το σύστημα να μοιάζει σαν να αποτελείται από ένα μίγμα ετερόκλητων εφαρμογών, αλλά πάντως καλύπτουν ένα μέσο όρο λειτουργικότητας για πολλούς.
Επίσης μπορούν να τροποποιηθούν και να κάνουν ακριβώς αυτό που θέλεις.
Το έχω κάνει αρκετές φορές!

Αυτό που θέλω να δούμε όμως είναι οι δυνατότητες που έχει το Joomla framework στην ανάπτυξη εφαρμογών όταν δεν υπάρχει κάποιο component που να εξυπηρετεί ακριβώς τις ανάγκες σου.
Ενας developer σαφώς και δεν μπορεί να περιμένει "μπας και βγεί" ένα component που θα εξυπηρετεί ακριβώς τις ανάγκες του πελάτη του.
Theo
Senior Member
 
Posts: 553
Εγγραφή: 29.04.06, 10:33 pm

Δημοσίευσηαπό psilos » 01.07.07, 9:05 pm

Παρακολουθώ αρκετό καιρό την συζήτηση με ενδιαφέρον,

+1 for Theo.

Ευχαριστούμε Theo για το ωραίο παράδειγμα, τον τρόπο σκέψης και την υλοποίηση του παραδείγματος..(θέλουμε και άλλα τέτοια..)

Τώρα όσον αφορά την άτυπη κόντρα, είναι πολύ πιθανό να υποθέσει κανείς ότι έιχες έτοιμο το παράδειγμα που πρότεινες για ανάλυση..(λέω εγώ τώρα :P)
Αλλά παραθέτω και λόγια σου
Αν προτιμάς περιέγραψέ μας εσύ μια απλή (custom) εφαρμογή και την δημιουργία της step_by_step με το Joomla και εγώ θα σου δημιουργήσω την ίδια ακριβώς εφαρμογή με άλλο framework ώστε να μπορέσουμε να συγκρίνουμε τις λύσεις μας.


cpulse έγραψε:
Theo ή την κάνουμε διακριτικά, ή είναι τόσα πολλά όλα αυτά που δεν μπαίνει κανείς στον κόπο να τα διαβάσει. Κι αυτό ακριβώς είναι και η απάντηση.. οτι δηλαδή χρειάζεται ακρετός χρόνος για να δεις πως μπορεί να γίνει κάτι τέτοιο που μόνο ελάχιστοι θα έδιναν.


Δεν πιστεύω ότι και το joomla χρειάζεται λιγότερο κόπο και χρόνο ώστε
1)να το στήσεις σωστά,
2)να βρείς τα κατάλληλα components
3)και να τα ενσωματώσεις...

Σε όλα χρειάζεται να αφιερώσεις κάποιο χρόνο ώστε να μάθεις την δομή του και τον τρόπο οργάνωσης του. Από εκεί και πέρα εξαρτάται απο τις δικιές σου προτιμήσεις.

@theo: εχεις ασχοληθεί καθόλου με Textpattern??
πιστεύω ότι είναι αρκετά γρήγορο και εύκολο αν θέλεις να στήσεις ένα απλό σχετικά CMS..
Konstantinos Papalias - Web Developer
Άβαταρ μέλους
psilos
Junior Member
 
Posts: 317
Εγγραφή: 05.01.07, 1:42 pm
Τοποθεσία: London

Δημοσίευσηαπό parsec_dev » 01.07.07, 11:56 pm

Theo έγραψε:Σκέψου και εσύ τι θα καταλάβει ο μέσος φίλος του Joomla, αν ρίξει μια ματιά στην αρχιτεκτονική ενός πραγματικού CMS σαν το Alfresco.


Αρχίζει και αποκτάει ενδιαφέρον η συζήτηση :)
Coding is the closest thing we have to a superpower.
Άβαταρ μέλους
parsec_dev
Senior Member
 
Posts: 640
Εγγραφή: 07.07.05, 1:20 pm
Τοποθεσία: Ηράκλειο Κρήτης

Δημοσίευσηαπό Theo » 02.07.07, 11:54 am

psilos έγραψε:Τώρα όσον αφορά την άτυπη κόντρα, είναι πολύ πιθανό να υποθέσει κανείς ότι έιχες έτοιμο το παράδειγμα που πρότεινες για ανάλυση..(λέω εγώ τώρα :P)


Γειά σου psilos,

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

psilos έγραψε:Δεν πιστεύω ότι και το joomla χρειάζεται λιγότερο κόπο και χρόνο ώστε
1)να το στήσεις σωστά,
2)να βρείς τα κατάλληλα components
3)και να τα ενσωματώσεις...


Συμφωνώ ότι και με το Joomla μπορεί να γίνει άνετα το ίδιο. Μπορεί κάποιος από τους φίλους που συζητάμε να πάρει το wine component, να το τροποποιήσει και ύστερα να μας παρουσιάσει αναλυτικά τη διαδικασία.


psilos έγραψε:@theo: εχεις ασχοληθεί καθόλου με Textpattern??
πιστεύω ότι είναι αρκετά γρήγορο και εύκολο αν θέλεις να στήσεις ένα απλό σχετικά CMS..


Δεν έχω ασχοληθεί ακόμα με το Textpattern...
Επειδή έχω στήσει έναν server ειδικά για το eZ publish σε multisite setup, προτιμώ να φτιάχνω όλα μου τα site που θέλουν WCMS με αυτό για ευκολία συντήρησης, αναβάθμισης.
Ετσι για ένα νέο site απλά αλλάζω κάποιες ρυθμίσεις στον Apache, φτιάχνω τη βάση δεδομένων (αν χρειάζεται ξεχωριστή) και τα ρυθμιστικά αρχεία και templates του site.
Theo
Senior Member
 
Posts: 553
Εγγραφή: 29.04.06, 10:33 pm

ΠροηγούμενηΕπόμενο

Επιστροφή στο II.II Δημιουργικό λογισμικό σχεδίασης για τα ψηφιακά μέσα

Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση : Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης

Visual Communication Designers Club

Το Visual Communication Designers Club, το μεγαλύτερο Ελληνικό online design forum, αποτελεί μια Ελληνική κοινότητα σχεδιαστών οπτικής επικοινωνίας, υπό την ευρύτερη έννοια του όρου, θέλοντας να συμπεριλάβει στα μέλη της κάθε ειδικότητα και βαθμίδα όσων σπουδάζουν ή εργάζονται στον χώρο της επικοινωνίας, έντυπης, διαδικτυακής, τρισδιάστατης ή εφαρμογών πολυμέσων