+CMS COntent Management Homepage

/ Indeks dokumentacji / Wdrożenie / Szabon strony / Plik XML / Sekcja template

Sekcja template

Odpowiedzialna za modyfikacje szablonu do postaci odpowiadającej zedfiniowanym regułom. Wyobrażmy sobie sytuację w której mamy szablon, gdzie nagłówek musi zmieniać kolor w zależności od działu. W poprzednich wersjach systemu trzeba było przygotować tyle szablonów ile jest działów mimo, że w szablonie zmieniała się jedynie jedna linia.Teraz problem ten został rozwiązany. Szablon XML, który definiuje jakie operacje mają być wykonane przed dodaniem nowej strony został rozszerzony o znacznik <template>, który pozwala na modyfikację szablonu jeszcze przed wykorzystaniem go przez stronę. Wykorzystuje się do tego celu tzw. naklejki. (ang. labels).


Modyfikacja szablonów przebiega w następujący sposób. Przed wykorzystaniem szablonu XHTML jest on nadpisywany wartościami naklejek (pobierane z sekcji template i I18n), które ustalane są na podstawie kategorii (lub języka). Nie oznacza to że jeżeli zmienimy kategorię istniejącej już strony lub wartość naklejki w pliku XML strona automatycznie zostanie zmodyfikowana do postaci odpowiadającej nowej konfiguracji. Stanie się tak jedynie wtedy, kiedy strona (statyczna) zostanie wygenerowana od nowa. Generowanie od nowa strony występuje jedynie w trzech przypadkach, kiedy zmieni się treść strony, zostanie zmieniony szablon strony lub użytkownik wymusi odświeżenie zawartości strony klikając w ikonę "odśwież".

Przykładowy kod wygląda następująco:

<template>
    <label name="catStyle">style="color: black"</label>
    <category category-name="Aktualności">
        <label name="catStyle">style="color: red"</label>
    </category>
    <category category-id="2">
        <label name="catStyle"> style="color: blue"</label>
    </category>
    <category parent-category-id="1">
        <label name="catStyle"> style="color: green"</label>
    </category>
</template>
Natomiast szablon XHTML strony wygląda następująco:
<div{LABEL:catStyle}>Mój pierwszy szablon</div>

Zapis {LABEL:catStyle} zostanie zastąpiony wartością naklejki o nazwie catStyle. Wartości dla naklejek zdefiniowane są w pliku XML. Jak łatwo zauważyć w powyższym przykładzie zdefiniowaliśmy 4 wartości naklejki catStyle.

 
Kategoria
Wartość
Brak kategorii
style="color: black"
Kategoria o nazwie: Aktualności
style="color: red"
Kategoria o id: 2
style="color: blue"
Kategoria nadrzędna o id: 1
style="color: green"
 

Oznacza to że jeżeli użytkownik stworzy stronę i wybierze kategorię Aktualności to nagłówek w szablonie będzie koloru czerwonego, gdyż {LABE:catStyle} zostanie zastąpiony wartością style="color: red". Jeżeli nie wybierze kategorii to nagłówek będzie czarny (style="color: black"). Jeżeli wybierze kategorię o nr id równym 2 to nagłówek będzie niebieski (style="color: blue").

W ten sposób ograniczyliśmy możliwość tworzenia 4 szablonów w różnych wersjach kolorystycznych. Gdy w przyszłości przyjdzie nam zmieniać szablon nie będziemy musieli modyfikować 4 plików tylko jeden.

Plik XML (z przykładu powyżej) umieszczamy w katalogu /cms/kontent/templates (dokładnie tak samo jak robiliśmy to w poprzednich wersjach z szablonami) i na jego podstawie tworzymy stronę.

Zobacz więcej...
  1. Nalepki
  2. Rozszerzanie strony o nowe szablony językowe
  3. Warunkowe dodawanie tagów

Metryka dokumentu

Tytuł: Indeks dokumantacji
Opis: Spis stron dokumentacji
Źródło: +CMS Content Management
Prawa autorskie: +CMS Content Management Platform
Autor: root Zmodyfikowany przez: root
Data utworzenia: 2008-09-09 21:49:45 Data modyfikacji: 2008-09-09 21:52:03
Data publikacji: 2008-09-09 21:50:11
(c) +CMS Content Management Platform