![]()
|
|
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>
<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ę.
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 | ||