Afișați articole pe pagină cu Ditto

Probabil una dintre cele mai frecvente sarcini la proiectarea unui site este de a afișa știri, articole informaționale, cataloage de produse etc. pe pagină, într-un cuvânt, scoaterea documentelor în pagină. Cel mai puternic instrument MODx pentru a face acest lucru este fragmentul Ditto dezvoltat de Mark Kaplan. Printre caracteristicile sale principale se numără paginarea, afișarea unei versiuni scurte a articolului cu un link „următorul”, generarea unei arhive, sortarea după dată, titlu etc.

Deci, să ne uităm la un exemplu de afișare a articolelor de știri pe o pagină de site. Să presupunem că trebuie să afișam 5 articole pe pagină, fără o arhivă, să folosim câmpul „Rezumat” (introtext) ca versiune scurtă a articolului și să folosim „>>” ca link către versiunea completă a articolului.

  • Creați un document și denumiți-l „Știri”
  • Creăm 2-3 articole de știri ca documente copii. Permiteți-mi să vă reamintesc că pentru a crea un document copil, faceți clic dreapta pe documentul „Știri” și selectați „Child Dock”. („Creați documentul aici”).
  • Descărcați fragmentul Ditto și instalați-l pe sistemul nostru. Pentru a face acest lucru, creați un nou fragment în panoul de control al resurselor, numiți-l „Ditto” și introduceți conținutul fișierului snippet.ditto.1.0.1.php în corpul acestuia. De asemenea, în directorul assets/snippets/ditto, ar trebui să avem un fișier ditto.class.inc.php.
  • Creăm o bucată cu un nume, de exemplu ”ditto_news” care va conține șablonul html de ieșire a articolului. Exemplu de șablon (utilizat pe acest site):

[+pagetitle+] - [+data+]

Apoi, setăm parametrii pentru a obține rezultatul articolelor de care avem nevoie (rețineți că atunci când setați valoarea parametrului, trebuie să utilizați „apostroful invers”, cel de pe aceeași cheie cu litera „Ё”):

  • &summarize=`5` - setaținumărul de știri pe pagină
  • &paginate=1 - activați modul de paginare, dezactivând astfel arhiva
  • &tpl=` ditto_news ` - ne referim la șablonul de ieșire al articolului pe care l-am creat mai devreme.
  • &dateFormat=`%d.%m.%Y` - setați formatul de ieșire a datei
  • &sortBy=`createdon` - sortați articolele după data creării
  • &truncText=`>>` - setați textul linkului la versiunea completă a articolului
  • Deci, ar trebui să ajungem cu un șir ca: [!Ditto? &tpl=`ditto_news` &sortBy=`createdon` &summarize=`4` &dateFormat=`%d.%m.%Y` &truncText=`>>` &paginate=1 !]
  • Mai jos ar trebui să adăugăm codul html pentru a afișa numerele paginilor, ceva de genul