Tartalmak listázása

Hogyan lehet automatikusan egyszerre több tartalmat listázni egy oldalon.

2021.11.19 — Posted by Webb & Flow


Tartalomjegyzék

Arra lehet használni, hogy bizonyos feltételeknek megfelelő tartalmakat listázzunk és ezt a listát beépítsük az oldalba.

Szintaxis:

{CONTENTLIST $sablon=1234}

Paraméterek

  • $sablon
    • a generáláshoz használt Item Sablon azonosítója
    • kötelező
  • $section
    • szűrő feltétel
    • milyen fajta tartalmat listázzon
    • opcionális
    • lehetséges értékek:
      • nm (normál tartalom)
      • mc (főkategória)
      • sc (alkategória)
      • tg (tag)
      • th (technikai tartalom)
    • default érték: nm
  • $category
    • szűrő feltétel
    • kategória azonosító
    • opcionális
    • ha meg van adva, akkor azokat a tartalmakat listázza, amik pontosan a megadott kategóriában vannak
    • lehetséges értékek:
      • hard code-olt, ct_ kezdetű tartalom azonosító, ahol a tartalom fő vagy alkategória fajtájú lehet
      • CONTENTID
        • csak fő és alkategória fajtájú tartalmaknál van értelme
        • az aktuálisan publikálandó tartalom azonosítóját helyettesíti be dinamikusan, azaz az adott tartalom alá tartozó tartalmakat fogja szűrni
      • CATEGORYID
        • csak alkategória, illetve normál fajtájú tartalomnál van értelme
        • az aktuálisan publikálandó tartalom kategóriájának azonosítóját helyettesíti be, azaz az adott tartalom testvéreit listázza (alap esetben beleértve az aktuális tartalmat is)
  • $parentcategory
    • szűrő feltétel
    • kategória azonosító
    • opcionális
    • ha meg van adva, akkor azokat a tartalmakat listázza, amik vagy pontosan a megadott kategóriában, vagy annak egy alkategóriájában vannak
  • $tag
    • szűrő feltétel
    • tag azonosító
    • opcionális
    • ha meg van adva, akkor azokat a tartalmakat listázza, amiknél ez a tag be van állítva
  • $tags
    • szűrő feltétel
    • tag azonosító lista, az egyes értékek & karakterrel vannak elválasztva egymástól
    • opcionális
    • ha meg van adva, akkor azokat a tartalmakat listázza, amiknél az összes, itt megadott tag be van állítva
  • $contentType
    • szűrő feltétel
    • content type azonosító
    • opcionális
    • ha meg van adva, akkor azokat a tartalmakat listázza, amik ezt a content type-ot használják
    • lehetséges értékek
      • hard code-olt, cnty_ kezdetű content type azonosító
      • CONTENTTYPEID
        • az aktuálisan publikálandó tartalom content type-jának azonosítóját helyettesíti be dinamikusan, azaz az adott tartalommal azonos típusú tartalmakat fogja szűrni
  • $excludeContents
    • szűrő feltétel
    • tartalom (normal content, category, tag) azonosító lista, az egyes értékek & karakterrel vannak elválasztva egymástól
    • opcionális
    • ha meg van adva, akkor a többi feltétel által meghatározott tartalom listából kizárja azokat, amiknek az azonosítója itt fel lett sorolva
  • $limit
    • hány elem szerepeljen a listán
    • opcionális
    • default érték: 100
  • $offset
    • hány elem legyen a lista elejéről eldobva
    • opcionális
    • default érték: 0
  • $order
    • melyik mező szerint legyenek a tartalmak rendezve
    • a RANDOM értéken kívül minden más esetben először a weight mező szerint van rendezve növekvő sorrendben, és csak ezután a megadott mező szerint
    • opcionális
    • lehetséges értékek:
      • TITLEASC
        • a title mező szerint növekvő sorrendben
      • TITLEDESC
        • a title mező szerint csökkenő sorrendben
      • LASTMODDATEASC
        • az utolsó módosítás ideje szerint növekvő sorrendben
      • LASTMODDATEDESC
        • az utolsó módosítás ideje szerint csökkenő sorrendben
      • CREATEDATEASC
        • a létrehozás ideje szerint növekvő sorrendben
      • CREATEDATEDESC
        • a létrehozás ideje szerint csökkenő sorrendben
      • FIRSTPUBLICDATEASC
        • az első publikálás ideje szerint növekvő sorrendben
        • ha még nem volt generálva, akkor a content date mező értéke van használva
      • FIRSTPUBLICDATEDESC
        • az első publikálás ideje szerint csökkenő sorrendben
        • ha még nem volt generálva, akkor a content date mező értéke van használva
      • LASTGENDATEASC
        • az utolsó publikálás ideje szerint növekvő sorrendben
        • ha még nem volt generálva, akkor a content date mező értéke van használva
      • LASTGENDATEDESC
        • az utolsó publikálás ideje szerint csökkenő sorrendben
        • ha még nem volt generálva, akkor a content date mező értéke van használva
  • $divider
    • szám
    • opcionális
    • ha meg van adva, akkor a $modulus paraméterrel együtt meg lehet adni, hogy csak minden X. elemet listázza.
  • $modulus
    • szám
    • opcionális
    • az értéke 0 és $divider - 1 között lehet
    • ha nincs megadva, akkor az érték 0
  • $withoutCurrentContent
    • szám
    • opcionális
    • ha nem 0 az értéke, akkor kizárja a listázásból az aktuálisan publikálandó tartalmat, amennyiben az megjelenne a listában
    • default érték: 0

A szűrő feltételek mind opcionálisak és egyszerre többet is meg lehet adni, ebben az esetben a feltételeket a rendszer ÉS kapcsolatban elemzi ki, azaz csak azok a tartalmak lesznek listázva, amik egyszerre mindegyik feltételnek megfelelnek.

A generálás során minden egyes elemnél ki lesz generálva a megadott Item Sablon az adott tartalomra jellemző változó értékekkel, és végül ezek az elemek összefűzve kerülnek be a hívás helyére.