PDA

Zobacz pełną wersję : Różne szablony do wersji językowych



sylwekb
02-07-2009, 18:01
Joomla 1.5.11 + Joomfish 2.0.3
Czy istnieje możliwość przypisania dla poszczególnych wersji językowych różnych szablonów? Nie mogę nigdzie znaleźć jak zrobić żeby pod każdą z wersji językowych przetłumaczoną i opublikowaną w Joomfish był inny szablon. Oczywiście w jednolitej wersji np polskiej można to zrobić bez problemów przypisując nieograniczoną ilość szablonów do poszczególnych artykułów.

malkowitch
04-07-2009, 16:55
W kodzie szablonu można się bawić, lub plugin można napisać.

Rybik
04-07-2009, 21:51
@malkovitch - staraj sie udzielać bardziej wyczerpujących odpowiedzi.
Jeżeli wiesz w jakiej zmiennej jest trzymany język to napisz, jak nie to poszukaj i napisz :)

Wiele zależy od tego jak bardzo różne szablony chcesz podpinać - najwygodniej jest, żeby miały jeden html a rózne CSSy, czyli ten sam szablon w różnych wariantach kolorystycznych.

Jeżeli masz nazwę języka w adresie to powinieneś móc ją wywlec łatwo. Dopisz do pliku index.php szablonu na samym końcu:


<?php var_dump($_REQUEST);?> i zobacz w jakim polu jest nazwa języka. Czyli przeładuj strone i licz sie z przejrzeniem sporej ilości krzaków. Włącz ctrl+f i wyszukaj frazę "en" razem z cudzysłowem. Powinieneś miec cos w stylu:

["lang"]=> string(2) "en"

dla języka angielskiego, moze być nieco inaczej ale powinieneś rozpoznać, w tym wypadku masz w szablonie mozliwość załadowania róznych arkuszy CSS:


<?php if($_REQUEST('lang')=='en') : ?>
<link rel="stylesheet" href="/templates/css/english.css" type="text/css" />
<?php else: ?>
<link rel="stylesheet" href="/templates/css/default.css" type="text/css" />
<?php endif;?>


zaznaczam, że nie możesz uzyć mojego kodu na sztywno, bo:
- to nie musi byc lang, może byc language
- może trzeba będzie sięgnąć dalej niż do $_REQUEST
- może jest prostszy dostęp do mainframe'a
- to nie musi być en, może być en.utf8 albo english
- przy wiekszej ilości języków zamiast ifa użyć trzeba będzie switcha

Napisz jak ze znajomościa php i zobaczymy co sie da zrobić.

malkowitch
04-07-2009, 23:02
Przy Joomfish można korzysta z zmiennej lang z tego co pamiętam.
Nie jestem pewien czy to będzie działać na 100% bo nie mam czasu przetestować.
Ale np. wywołanie w adresie np tak:
http://www.strona.pl/index.php?template=beez
zmieni templatkę na beez.
Także spróbować można by coś takiego dać albo w pliku index.php (nie szablonu lecz index.php głównego bo w templatce to już po ptokach)



if(JRequest::getVar('lang')=='en')
{
JRequest::setVar('template', 'nazwa_templatki_dla_angielskiego');
}

sagramor
03-03-2010, 18:34
Działa!!! wielkie dzięki :)