Mura CMS Particularizarea dosarelor

Un director din Mura CMS este un tip special de nod care poate servi mai multe funcții diferite. În centrul său, un dosar este conceput pentru a prelua paginile copilului sub el și pentru a le afișa într-un format de listă. Cel mai obișnuit caz de utilizare pentru acest lucru este un blog - un dosar în Managerul site-ului numit "Blog", unde fiecare pagină de sub acesta este o postare separată de blog. Când vizitați pagina blogului de pe site, toate postările sunt listate în ordinea datei de lansare (definite în managerul de site-uri):

Dosarul Blog din Managerul de site-uriPagina de blog, așa cum apare în partea din față a site-ului

Modificarea ieșirii dosarului în Mura

Din cutie, Mura îți oferă o tonalitate de flexibilitate pentru a modifica ieșirea folderelor tale, fără a trebui să atingi niciun cod. Când editați un dosar, veți observa că există o filă "Opțiuni afișare listă":

În acest sens, puteți să modificați dimensiunea imaginii și chiar să determinați câmpurile de date pe care doriți să le afișați:

Prin schimbarea câtorva setări pe blog și adăugarea unui pic de CSS, puteți merge mult cu Mura Folders:

Crearea unui afișaj de foldere personalizat

Dacă tot nu reușiți să atingeți ceea ce doriți utilizând personalizările dosarului Mura out-of-the-box, puteți crea și ieșirea propriu-zisă a folderului. 

1. Creați o extensie de clasă personalizată pentru dosar

După cum am discutat în tutorialul Extensii de clasă, Extensiile de clasă reprezintă o modalitate de a adăuga atribute unui nou subtip de pagină. Extensiile de clasă pot fi, de asemenea, folosite ca un cârlig pentru Mura pentru a intercepta un anumit subtip și pentru a-și schimba comportamentul implicit. Pentru a face acest lucru, trebuie să creați un folder nou cu un subtip de Blog.

Acum putem crea un nou dosar Blog cu acest tip de subtip și să îl introducem în codul nostru.

Ieșirea implicită a directorului vine de la SiteID /includes/dsp_folder.cfm. Trebuie să copiem fișierul și să îl mutăm SiteID / include / teme / THEMENAME / display_objects / personalizate / extensii /dsp_Folder_Blog.cfm

Notă: titlul fișierului dvs. poate fi sensibil în funcție de minuscule în funcție de sistemul dvs. de operare pentru servere. Se recomandă titlul fișierului în același caz cu numele atributelor dvs. extinse.

Notă: prin schimbarea numelui în dsp_Folder_Blog.cfm și includerea acestuia în / extensii directorul în tema noastră, Mura va folosi în mod automat acel fișier în loc de ieșirea directorului implicit atunci când se redă un Folder / Blog. Acest lucru va funcționa pentru toate subtipurile de conținut din acest director cu sintaxa dsp_ Type _ Subtip .cfm

2. Editați ieșirea de conținut

Acum, când Mura înregistrează dosarul personalizat în locul celului implicit, putem intra în fișierul personalizat și îl putem modifica oricum alegem. Când deschideți fișierul, primele 130 de linii de cod sau toate acestea sunt toate logica de bază pe care doriți să o păstrați pentru a face anumite aspecte ale folderului dvs. să funcționeze, cum ar fi paginarea, filtrele de categorie etc.. Nu modificați această logică dacă nu știți cu adevărat ce faceți!

Dosarul fișierului cu care vă preocupați cu adevărat începe pe linia 133:

# variabilele $ .dspObject_Include (thefile = 'dsp_content_list.cfm', fields = variables. $ content ("displayList"), type = "Portal", iterator = variables.iterator, imageSize = variables. "), imageHeight = variabilele. $ content (" ImageHeight "), imageWidth = variabilele $ .conținutul (" ImageWidth "))

Ce face acest cod, este să iei toată logica de dosar deasupra lui, apoi să treci printr-un fișier numit dsp_content_list.cfm. dsp_content_list.cfm este un extrem un fișier complex, care are tot felul de logică pentru a afișa toate elementele posibile și aranjamentele pentru elementele dosarului (adică toate opțiunile pe care le-ați văzut în Opțiunile de afișare listate de mai sus). Deoarece vrem să ne redăm propria noastră producție pentru blogul nostru, vom înlocui efectiv acest blog cu codul nostru propriu cu iteratorul propriu și buclă prin intermediul articolelor de pe blog folosind propriile noastre markup-uri.

Așa cum am învățat în tutorialul Mura Iterators, Mira Iterators reprezintă o modalitate de a lua conținutul dintr-un feed și o buclă prin intermediul acestuia folosind propriul dvs. markup. În logica principală a fișierului dsp_folder_blog.cfm, tot conținutul dosarului este încărcat în propriul său iterator (variables.iterator), gata de a fi înclinat.

Din moment ce fișierul are deja folderul gata de a merge într-un iterator, tot ce trebuie să faceți este să treceți prin conținutul și să ieșim afișajul nostru:

 
# Item.getTitle () #

# Item.getTitle () #

# Item.getSummary () #

Nota 1: când am setat articol variabilă pe linia 6, care accesează efectiv domeniul de conținut pentru fiecare element din buclă. Deci, atunci când facem ceva de genul:

# Item.getTitle () #

Același lucru este ca și cum am accesa domeniul de conținut în cadrul unui șablon de aspect:

# $. Conținutul ( 'titlu') #

Nota 2: Am creat o dimensiune personalizată a imaginii în Setările site-ului meu Mura numite Blogul-img care este de 400x200. Avantajul de a face acest lucru este ca utilizatorii să poată controla decuparea imaginii pentru ca aceasta să apară în ieșire.

Acum, când redați pagina finală, putem vedea același conținut de blog, redat în noul nostru markup:

Crearea layout-urilor de foldere personalizate este o modalitate excelentă de a crea teme creative și robuste fără a fi nevoie să vă faceți griji cu privire la ruperea funcționalității Mura de bază. Această metodă poate fi utilizată pentru mai multe cazuri de utilizare diferite atunci când vă dezvoltați temele, cum ar fi Bloguri, Portofolii, Pagini de echipă etc..