Μορφοποίηση παραγράφων

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

#! name1="value1" ... nameN="valueN"

Υπάρχουν 3 κατηγορίες ιδιοτήτων:

  1. Ιδιότητες HTML, όπως για παράδειγμα οι class και style, οι οποίες αντιγράφονται ως έχουν και μορφοποιούν την παράγραφο αντίστοιχα.
  2. Ιδιότητες συστήματος, οι οποίες είτε δημιουργούν περιεχόμενο είτε αποκρύπτουν την παράγραφο, και είναι οι ακόλουθες:
    • sevel  Εμφάνιση/απόκρυψη παραγράφου ανάλογα με το επίπεδο ασφαλείας του χρήστη
    • show   Εμφάνιση/απόκρυψη παραγράφου ανάλογα με τις τιμές ρυθμίσεων
    • @      Κλήση συνάρτησης / παραγωγή δυναμικού περιεχομένου
  3. Ιδιότητες εγγραφής, οι οποίες αφορούν την εγγραφή (του αρχείου) και όχι παράγραφο. Αυτές οι ιδιότητες πρέπει υποχρεωτικά να ορίζονται στην πρώτη (και ενίοτε μόνη) σειρά του κειμένου.

Στον ακόλουθο πίνακα βλέπετε συνοπτικά τις ιδιότητες που αναφέρθηκαν:

Χρησιμοποιείται γιαΠαράδειγμαΑποτέλεσμα
classHTML class#! class="myClass" Κείμενο παραγράφου...Η παράγραφος θα μορφοποιηθεί ανάλογα με το στυλ myClass
styleHTML style#! style="font-weight:bold" Κείμενο παραγράφου...Κείμενο παραγράφου...
sevelΕμφάνιση υπό συνθήκη#! sevel="0" Κείμενο παραγράφου...Η παράγραφος εμφανίζεται μόνο σε επισκέπτες
showΕμφάνιση υπό συνθήκη#! show="aSetting=aValue" Κείμενο παραγράφου...Η παράγραφος εμφανίζεται μόνον όταν η ρύθμιση aSetting έχει την τιμή aValue
@Κλήση συνάρτησης#! @="toc"Πίνακας περιεχομένων
#! @="copy"Αντιγραφή κειμένου από άλλη εγγραφή
*Ιδιότητες εγγραφής#! xmlsize="L"Δημιουργία πεδίου "xmlsize" με τη δοθείσα τιμή

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

class

Η ιδιότητα αυτή χρησιμοποιείται στις περιπτώσεις που τα κείμενα σας περιλαμβάνουν παραγράφους που χρήζουν ιδιαίτερης μορφοποίησης, η οποία δεν καλύπτεται από το theme της ιστοσελίδας σας. Το class μπορεί να οριστεί σε 2 σημεία:

  1. inline, στο κείμενο με τη χρήση κατάλληλου για το σκοπό αυτό block.
  2. global, στη σχετική ρύθμιση ACP ▶ Settings ▶ Domain ▶ CSS

style

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

sevel

Η ιδιότητα αυτή συνδέει την εμφάνιση της παραγράφου με το ενεργό Επίπεδο Ασφαλείας. Συγκεκριμένα, έχει 2 modes λειτουργίας:

  1. Αν η παράγραφος χαρακτηριστεί με sevel="0", τότε είναι εμφανής μόνο στους επισκέπτες.
  2. Αν η παράγραφος χαρακτηριστεί με οποιοδήποτε άλλο επίπεδο, τότε αυτό είναι το ελάχιστο που απαιτείται για την προβολή της. Για παράδειγμα, ο χαρακτηρισμός sevel="4" εμφανίζει την παράγραφο μόνο στο προσωπικό σας.

show

Η ιδιότητα αυτή συνδέει την εμφάνιση της παραγράφου με την τιμή μιας ή περισσοτέρων ρυθμίσεων (ACP ▶ Settings). Χρησιμοποιείται σε ειδικές περιπτώσεις, και κατά βάση από τον webmaster.

@=toc

Αυτή η συνάρτηση δημιουργεί πίνακα περιεχομένων! Ως εκ τούτου, δεν μπορεί να είναι η 1η γραμμή μιας παραγράφου, αλλά η μία και μοναδική. Δηλαδή, το ακόλουθο shebang θα πρέπει να είναι αυτοτελής παράγραφος:

#! @="toc [anchors|(C|c)hildren|(C|c)hapions] [-|+|#|*] [<img>] [more]"

Οπως βλέπετε, η συνάρτηση toc παίρνει 4 προαιρετικές παραμέτρους:

  1. ο τύπος του πίνακα
    default → anchors
  2. ο τύπος της λίστας
    default → - (μη αριθμημένη)
  3. ο τύπος της εικόνας
    default → χωρίς εικόνες
  4. μια φράση που θα προστεθεί στο τέλος κάθε αποσπάσματος (για παράδειγμα, ο κλασσικός σύνδεσμος ή κουμπί περισσότερα...)
    default → τίποτα

1η παράμετρος: τύπος πίνακα

Υποστηρίζονται οι ακόλουθοι τύποι:

anchors
Μια λίστα με όλους τους τίτλους ενοτήτων. Αυτός είναι ο πιο απλός και default πίνακας περιεχομένων, παράδειγμα του οποίου βλέπετε στο παρόν κείμενο.
children
Μια λίστα από κεφάλαια που απαρτίζουν ένα Mέρος, μαζί με ένα μικρό απόσπασμα. Παράδειγμα αυτού του πίνακα μπορείτε να δείτε στο εισαγωγικό κεφάλαιο του παρόντος οδηγού.
menu
Οπως το children αλλά αντί του πεδίου τίτλος χρησιμοποιείται το πεδίο όνομα (δείτε τη φόρμα του αρχείου Sitemap για να καταλάβετε).
chapions
Μια λίστα 2 επιπέδων, με κεφάλαια και τμήματα. Παράδειγμα αυτού του πίνακα μπορείτε να δείτε στην εισαγωγή της ZML.

Αν το γράμμα 'c' στους τύπους children και chapions γραφτεί με κεφαλαίο, τότε οι σύνδεσμοι θα εμφανιστούν με έντονη γραφή (bold).

2η παράμετρος: τύπος λίστας

Είναι το ίδιο σύμβολο (και με το ίδιο αποτέλεσμα) όπως αναλύεται στα περί παραγράφων.

3η παράμετρος: εικόνες

Η παράμετρος αυτή λειτουργεί μόνον όταν ο τύπος πίνακα είναι children, και μπορεί να έχει τις ακόλουθες συντάξεις:

uploadId
Παράγει {{uploadId:%i++ }},
συνεπώς χρησιμοποιείται στις περιπτώσεις που οι εικόνες είναι sprite (παράδειγμα).
(icon\d\d)[0-9a-fA-F]{2}
Παράγει {{<img>}}
συνεπώς χρησιμοποιείται στις περιπτώσεις που επιθυμείτε κοινή εικόνα, σε μορφή bullet. Πλήρη κατάλογο εικονιδίων μπορείτε να βρείτε στο εργαλείο Icon Viewer.
[1a-zA-Z]
Παράγει <em class="sn">%i++</em>
συνεπώς χρησιμοποιείται στις περιπτώσεις που επιθυμείτε αριθμημένο bullet.
(av[1-5]|ico|sml|med|big|d+|ful)x(av[1-5]|ico|sml|med|big|d+|d+.d+)
Παράγει {{<uploadId> |<img>}},
συνεπώς κάθε στοιχείο της παραγόμενης λίστας έχει δική του εικόνα στις δοθείσες διαστάσεις.

4η παράμετρος: more

Η παράμετρος αυτή λειτουργεί μόνον όταν ο τύπος πίνακα είναι children, και δίνει τη δυνατότητα προσθήκης συνδέσμου στο τέλος του αποσπάσματος. Η λέξη more είναι το όνομα μιας φράσης (ACP -> Database -> Phrase) η οποία δέχεται 1 παράμετρο, το τρέχον node. Για παράδειγμα:

[[%1%|>>^Διαβάστε περισσότερα...|~var more]]

Αν το more έχει την τιμή em, τότε δεν προστίθεται κάτι στο απόσπασμα, αλλά αυτό περιβάλλεται σε <em> tag.

@=copy

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

Η σύνταξή του έχει ως εξής:

#! @="copy <id> [color]"

  • Η παράμετρος id είναι υποχρεωτική, και δηλώνει το id της εγγραφής με το πρότυπο κείμενο.
  • Η παράμετρος color είναι προαιρετική, και δηλώνει το χρώμα της παραλλαγής. Αν όντως η παραλλαγή έχει χρώμα, τότε αυτό μπορεί να δηλωθεί και ξεχωριστά:

#! @="copy <id>" color="rgb|lookup"
Το χρώμα είναι μια ιδιότητα που χρησιμοποιείται αποκλειστικά και μόνο για απεικονιστικούς λόγους, ανάλογα και με το εικαστικό που έχετε επιλέξει για το e-shop σας. Η τιμή του μπορεί να είναι το 6ψήφιο rgb του χρώματος (χωρίς τη #) ή ένας τριψήφιος κωδικός lookup. Επίσης, υπάρχει η δυνατότητα απεικόνισης φωτογραφιών, αντί χρώματος.

Η εντολή copy θα πρέπει υποχρεωτικά να οριστεί στο shebang εγγραφής (δείτε παρακάτω), καθώς η παρουσία της υποδηλώνει απουσία κειμένου. Παρέχεται, ωστόσο, η δυνατότητα για κείμενο διαφοροποίησης από το πρότυπο, μέσω των κατάλληλων Blocks.

Ιδιότητες εγγραφής

Οπως προαναφέρθηκε, αν το κείμενο μιας εγγραφής ξεκινά με shebang, τότε αυτό αφορά την εγγραφή και όχι την πρώτη παράγραφο. Σε αυτό το σημείο θα πρέπει να αναφέρουμε τις εξής περιπτώσεις:

1. Shebang εγγραφής ΚΑΙ πρώτης παραγράφου
Συντάσσουμε κανονικά, αφήνοντας κενή σειρά μεταξύ τους

#! myColumn1="myValue1"  myColumn2="myValue2" 

#! class="myClass"
Κείμενο πρώτης παραγράφου...

2. Shebang εγγραφής ΜΟΝΟ
Συντάσσουμε κανονικά, αφήνοντας κενή σειρά μεταξύ τους

#! myColumn1="myValue1"  myColumn2="myValue2" 

Κείμενο πρώτης παραγράφου...

3. Shebang πρώτης παραγράφου ΜΟΝΟ
Αναγκαστικά ξεκινάμε με ΚΕΝΟ shebang!!!

#! 

#! class="myClass"
Κείμενο πρώτης παραγράφου...

Το shebang εγγραφής παρέχει τη δυνατότητα προσθήκης custom πεδίων στο σχήμα του αρχείου, χωρίς την ανάγκη μεταβολής του. Τα πεδία αυτά συνήθως χρησιμοποιούνται ως φίλτρα σε λίστες προϊόντων ή άλλους απεικονιστικούς λόγους.

Το σύστημα αναγνωρίζει (και χρησιμοποιεί όπου ορίζονται) τα ακόλουθα πεδία:

ΑρχείοΠεδίοΠαράδειγμα
SitemappageDescr#! pageDescr="Περιγραφή σελίδας έως 154 χαρακτήρες"
Productcolor#! color="FF8000"
Productxml*#! xmlsize="S,M,L" xmlcolor="black" xmlimage="11,12,13"