Eliminace reference na neopakovatelný obsah

V první ukázce autor prezentační logiky využil toho, že k šabloně může připojit referenci na jeden konkrétní asset (článek). Význam podmínky je, že tento konkrétní asset se nemá vypisovat v režimu attachments, zatímco všechny ostatní články ano.

Nevýhody tohoto postupu jsou:

  • Správce obsahu tento článek nemůže smazat (vede na něj reference).
  • Pokud budou přibývat další články se stejným způsobem výpisu, bude pokaždé nutný zásah do této šablony a její složitost poroste.

Druhý přístup volbu konkrétních assetů „deleguje“ na (poučenějšího) správce obsahu: definuje konvenci pro potlačení výpisu assetu v režimu attachments, a sice nastavení řídícího slova hideAttachments. Tím se eliminují obě zmíněné nevýhody.

Fragmenty kódu

Nevhodné užití
{if not(_main == _template.rfTarifPremium)}
  {_main mode="attachments"}
{/if}
Obecnější postup
{if not(in("hideAttachments", _main.controlWordsSet))}
  {_main mode="attachments"}
{/if}