3 - TAGS E NOMENCLATURA
3.1 - Tags generali
Ecco una visione generale dei tag utilizzati da MODx, in seguito saranno specificati ulteriormente.
N.B. ` si inserisce con alt+96 ~ si inserisce con alt+126
Snippet ……………………….. –
[[nomeSnippet]]
Variabile di Template TV –
[[*nomeTV]] (*asterisco usato anche per i campi contenuto delle risorse)
Chunks………………………… –
[[$nomechunk]]
Placeholders(segnalini)..–
[[+nomeSegnalino]]
Link……………………………….–
[[~link]]
System settings ………….. –
[[++nomeSettaggio]]
Linguaggio…………………..–
[[%language_string_key]]
3.2 - Struttura delle chiamate dei tag
[[ (Apertura)
! (OPZIONALE per chiamata non-cacheable. N.B. In REVO tutto ,chunk,Tv ecc. ecc.)
Tipo elemento (
*$*~++% a seconda dei casi, TV,Chunk,ecc.ecc.)
Nome elemento (ovviamente il nome dell’elemento richiamato)
@SetProprietà (OPZIONALE, identificatore del set di proprietà da applicare)
:filterName=`modifier`:... (OPZIONALE, uno o più filtri per modificare uscita dalla chiamata)
? (OPZIONALE, indica una eventuale inizio di inserimento parametri per la chiamata )
&propertyName=`propertyValue` &... (OPZIONALE, i parametri con il loro valore ognuno preceduto da &)
]] (Chiusura)
A seguire due esempi di chiamata di uno snippet uncacheablòe entrambi validi come formattazione:
[[!getResources? &parents=`123` &limit=`5`]]
[[!getResources?
&parents=`123`
&limit=`5`
]]
3.3 - Proprietà
in REVO, oltre ad essere possibile fare chiamate uncacheable per qualsiasi elemento è possibile applicare parametri a tutti gli elementi, nell’esempio che segue vediamo un chunk con parametro:
Chunk di nome Hello che contiene il seguente codice:
Ciao, [[+name]] ?
un chunck che richiama un segnalino che NON esiste da altra parte
possiamo chiamarlo nel modo seguente:
[[$Hello?name=`claudio`]]
per ottenre in uscita:
Ciao, Claudio?
3.4 - Parsing Order(da tradurre ehehe)
If you call an uncached Snippet, it will be executed last in the parsing order.
If you have cached placeholders below that, they will be evaluated before that Snippet is executed - meaning they’ll get the last value that was stored in the cache by that Snippet previously (or empty, if not set yet).
If you want to call a Snippet uncached that sets placeholders, you need to make sure the placeholders are set to uncached as well:
1
2 [[!Profile]]
Hello [[!+username]]
3.5 - Campi delle Risorse, possono essere richiamati come Tags.
A seguire la tabella con i campi che identificano ogni risorsa, ognuno di essi (tranne id) può esserre modificanto agendo sulla risorsa e richiamato ovunque come da esempi in tabella.
Tag Campo/Descrizione
Modo d’uso ed eventuali note
[[*id]] Lo
id della risorsa, viene dato da MODx e NON è modificabile. E’ visibile fra () di fianco al nome della risorsa
Usato spesso per richiamare la risorsa come link e.g.
<a href="[[~[[*id]]]]">Eccomi!</a>
[[*pagetitle]] Titolo/Nome nella pagina di creazione della risorsa Un esempio è il richiamo nello head della pagina
<title>[[*pagetitle]]</title>
[[*longtitle]] Titolo Esteso nella pagina di creazione della risorsa
<h1>[[*longtitle]]</h1>
[[*alias]] Alias Risorsa della pagina, può essere settato o autogenerato dalle impostazioni
usato con i FURLs per creare indirizzo pagina nella barra
[[*description]] Il campo
Descrizione della risorsa
<meta name="description" content="[[*description]]"/>
[[*introtext]] Il campo
Sintesi della risorsa, una specie di sommario.
<div id="summary">[[*introtext]]</div>
[[*parent]] Lo ID della
Risorsa Genitore se presente. Generato da MODX, può essere sempre modificato per spostare risorsa sotto altro genitore
<a href="[[~[[*parent]]]]">sali di un livello</a>
[[*menutitle]] Il
Titolo Menu della risorsa, sarà il nome che viene usato nei menu quando viene indicata la risorsa.
Normalmente viene usato da snippet come Wayfinder
[[*content]] Il vero e proprio
Contenuto della Risorsa
<body>[[*content]]</body>
3.6 - Tags di Sistema
A seguire i tag di Sistema che possono essere modificati da SistemaConfigurazione di Sistema
Tag Descrizione
Modo d’uso ed eventuali note
[[++site_url]] Contiene l’indirizzo del sito:
http://www.yoursite.com/
Nel parte head del codice della pagina:
<base href="[[++site_url]]" />
[[++site_name]] Il nome del sito
<title>[[++site_name]] | [[*pagetitle]]</title>
[[++site_start]] Contiene lo ID della pagina che abbiamo settato come iniziale, Home.
<a id="logo" href="[[~[[++site_start]]]]">Home</a>
[[$chunk]] Chiamata di un chunk
[[$header]] [[$footer]]
[[~link]] usato per chiamare un link ad una risorsa, VA INSERITO LO ID UNIVOCO che la identifica.
<a id="logo" href="[[~1]]">Home</a>
3.7 - TUTTI I TAGS DISPONIBILI
Tag Tipo Descrizione
Modo d’uso ed eventuali note
[[*alias]] text Alias Al posto di [[+id]] per evidenziare Alias
[[*cacheable]] int 0/1 Cacheable 1 cahceable 0uncacheable
[[*class_key]] int NomeUnivoco Classe risorsa e.g. modDocument
[[*content]] text Contenuto della risorsa
[[*content_type]] int Tipo di Contenuto della risorsa html,css ecc. ecc. (si possono modificare)
[[*createdon]] date Data creazione della risorsa, spesso usato con la funzione strtotime come filtro uscita [[*createdon:strtotime:date=`%a %b %e, %Y`]]
A seguire spiegato DATE FORMAT
[[*createdby]] int Creato da
[[*deleted]] int 0/1 Cancellato
[[*deletedby]] int Cancellato da
[[*deletedon]] date data di cancellazione [[*deletedon:strtotime:date=`%a %b %e, %Y`]]
[[*description]] text Descrizione
[[*editedon]] date Data Ultima modifica [[*editedon:strtotime:date=`%a %b %e, %Y`]]
[[*editedby]] int Modificato da
[[*hidemenu]] int 0/1 Nascondere dai menu 1 non mostrare 0 mostrare
[[*id]] int Id della risorsa
[[*introtext]] text Sintesi
[[*isfolder]] 0/1 Cartella conteitore 1 cartella 0 no
[[*link_attributes]] text Attributi link (target=.., rel=..) Richiamati utilizzando [[~id]]
[[*longtitle]] text Titolo Esteso
[[*menuindex]] int Indice menu
[[*menutitle]] text Titolo menu
[[*pagetitle]] text titolo/Nome
[[*parent]] int Risorsa genitore
[[*pub_date]] date - Ha valore solo se data pubblicazione è futura, raggiunta la data si azzera
[[*published]] int 0/1 Pubblicato 1 pubblicato 0 non pubblicato
[[*publishedby]] int Pubblicato da
[[*publishedon]] date Data Pubblicazione [[*publishedon:strtotime:date=`%a %b %e, %Y`]]
[[*richtext]] 0/1 Rich Text 1 si 0 no
[[*searchable]] int 0/1 Ricercabile con funzioni
[[*template]] int ID che identifica il Template
[[*unpub_date]] date data di ritiro risorsa Vedi pub_date
[[*uri_override]] int 0/1 Freeze URI
[[*uri]] string URI
3.8 – Formato Data
MODx è scritto in PHP ed ovviamente usa le sue funzioni tipiche anche per la data.
Il formato della data può essere filtrato dalla funzione strtotime:date= ed applicato alle date:
createdon
deletedon
editedon
publishedon
unpub_date
Alcuni esempi con createon:
Thu Apr 14, 2011 --> [[*createdon:strtotime:date=`%a %b %e, %Y`]]
18 April 2011 -->[[*createdon:strtotime:date=`%e %A %Y`]]
Monday, April 18, 2011 --> [[*createdon:strtotime:date=`%A, %B %e, %Y`]]
2011-04-18 -->[[*createdon:strtotime:date=`%Y-%m-%d`]]
ecco invece tutti le possibilità dei parametri per la funzione strtotime
Code Mostrato Esempio
%a Abbreviazione nome della settimana Dom
%A nome completo della settimana Domenica
%b Abbreviazione Mese Ott
%B nome completo del mese Ottobre
%c Data e ora locale mer gen 7 00:22:10 2010
%C Century (the year divided by 100, range 00 to 99) 20
%d Giorno del mese sempre con doppia cifra 03
%D Equivale a %m/%d/%y 04/29/10
%e Giorno del mese 3
%H Ora modello 24 ore 00-23
%I ora modello 12 ore 01-12
%j Giorno dell’anno sempre con 3 cifre 001 to 366
%m Mese in cifra 01 to 12
%M Minuti 00 to 59
%n Newline character \n
%p am or pm amz
%P AM or PM AM
%r Equivalente a %I:%M:%S %p 08:23:11 PM
%R Equivalente a %H:%M 23:11
%S Secondi 00 to 59
%t Tab character \t
%T Equivalente a %H:%M:%S 26:12:27
%u Giorno settimana in numero (lunedì=1) 01 to 07
%w Giorno settimana in numero (Domenica=0) 00 to 06
%x Data 01/25/09
%X Time 02:58:12
%y Anno in due cifre 09
%Y Anno 2010
%Z or %z Time zone offset or name -005 or EST
%% A literal % character %