Neues Metaattribut im Theme
Das CMS Pico beherrscht von Hause aus bereits viele Meta-Attribute die dem Beitrag mitgegeben werden können, da sind beispielsweise: Title
, Author
, Date
, Robots
, Template
, Hidden
, Logo
, Description
und und und. Wird ein neues Meta-Attribut hinzugefügt, sagen wir mal Template-Alt
, dann müsste theoretisch jeder Post um dieses neue Attribut angepasst werden. Bei einigen tausend Beiträgen ist das sicherlich unmöglich.
Eleganter ist es, wenn im Loop der Landingpage einfach die Existenz des neuen Attributs abgefragt wird, bevor es gelesen werden soll, beispielsweise so:
039 {% if page.meta['Template-Alt'] %}
040 {% set tmp = [page.meta['Template-Alt'], '.twig']|join %}
041 {% include(tmp) %}
042 {% else %}
043 {% include('row-col-col.twig') %}
044 {% endif %}
Code
Das Coding oben läd ein alternatives Template mit dem der Anleser auf der Landingpage dargestellt werden soll, dieses Template kann abweichend vom Attribut Template
sein, mit dem der Artikel zum lesen vollständig geladen wird.
Sobald der Loop in einem Beitrag das neue Attribut nicht finden kann, wird ein alternativer Weg eingeschlagen. Im Beispiel oben wird ein festgelegtes Default-Template geladen wenn das Meta-Attribut in diesem Post noch nicht existiert.