![]()
|
|
W przypadku, gdy konieczne jest dodanie kolejnego języka można skorzystać z możliwości rozbudowy strony przez dodanie nowego szablonu. W wersji systemu wcześniejszej niż 2.1.0 możliwa była jedynie rozbudowa głównego szablonu o nowe label’e językowe. Wymagało to zmian w szablonie z którego korzystał już system i dodanie do niego obsługi wielu języków. Jeżeli szablon nowej wersji językowej znacząco różnił się od obecnie wykorzystywanego szablonu trzeba było robić bardzo dużo zmian w pliku XHTML. Od wersji 2.1.0 nie ma już takiej konieczności. Można przygotować całkowicie nowy szablon przeznaczony dla nowej wersji językowej i podłączyć go do pliku XML.
Dotychczas szablon XHTML podłączany był w ten sposób. W pliku XML była sekcja <template…, w której w atrybucie src podawano ścieżkę dostępu do szablonu.
<template src="example/xhtml/example.xhtml">
<label name="content">
<![CDATA[ <cms:Html id="Content"></cms:Html> ]]>
</label>
<label name="HomeLabel" lang=”pl-pl”>Strona główna</label>
<label name="HomeLabel" lang="uk-en">Home</label>
</template>
Jeden szablon był wykorzystywany do wszystkich wersji językowych. Jest to dobre rozwiązanie w przypadku, gdy szablony nie różnią się znacznie pomiędzy wersjami językowymi.
Gdy różnice są duże lepiej skorzystać z nowych możliwości systemu.
Wystarczy w pliku XML dopisać nową sekcję <template… wraz z atrybutem src i dodać dodatkowo atrybut lang.
<template src="example/xhtml/example.xhtml">
<label name="content">
<![CDATA[ <cms:Html id="Content"></cms:Html> ]]>
</label>
<label name="HomeLabel" lang=”pl-pl”>Strona główna</label>
</template><template src="example/xhtml/example.xhtml" lang=”en-uk”>
<label name="content">
<![CDATA[ <cms:Html id="Content"></cms:Html> ]]>
</label>
<label name="HomeLabel" lang="uk-en">Home</label>
</template>
Jak widać kolejna sekcja <template… ma atrybut lang, który spowoduje, że będzie ona wybrana gdy tworzona strona będzie w wersji językowej angielskiej (en-uk). Definicja label’i może być różna od definicji użytej w pierwszej sekcji <template…
Należy zwrócić uwagę, że pierwsza sekcja nie ma atrybutu lang. Oznacza to, że będzie ona użyta niezależnie od wybranego języka, np. jeżeli strona ma być w języku polskim, angielskim i niemieckim to pierwszy szablon będzie użyty gdy wybierzemy język polski lub niemiecki, a drugi gdy wybierzemy język angielski. Wynika z tego, że dodanie atrybutu lang powoduje że system skorzysta z tego szablonu tylko i wyłącznie wtedy gdy język zdefiniowany w lang będzie taki sam jak wersja językowa strony.
<template src="example/xhtml/example.xhtml" lang=”pl-pl”>
<label name="content">
<![CDATA[ <cms:Html id="Content"></cms:Html> ]]>
</label>
<label name="HomeLabel" lang=”pl-pl”>Strona główna</label>
</template><template src="example/xhtml/example.xhtml" lang=”en-uk”>
<label name="content">
<![CDATA[ <cms:Html id="Content"></cms:Html> ]]>
</label>
<label name="HomeLabel" lang="uk-en">Home</label>
</template>
Zarówno pierwszy jak i drugi szablon mają zdefiniowany język (patrz atrybut lang). Oznacza to, że gdy będziemy tworzyć wersję niemiecką strony wyskoczy błąd mówiący o tym, że nie ma przypisanego szablonu do wersji niemieckiej.
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-08 13:50:34 | Data modyfikacji: | 2009-01-27 22:43:46 |
| Data publikacji: | 2008-09-08 13:52:20 | ||