Tematy bez nowych odpowiedzi

złożone warunki [AND i OR]


Autor Wiadomość
Napisane: 25.03.2009 [02:50]
PeeJay
Twórca tematu
zarejestrowany: 02.12.2008
Posty: 19
jak wiadomo, w TS można korzystać z warunków, np sprawdzających przeglądarkę:

TYPOSCRIPT
[browser = msie6]
## kod dla IE6
[else]
## kod dla reszty
[end]

czy jest możliwość podania warunku złożonego? np "jeśli przeglądarka to MSIE w wersji poniżej 7"

wiem, jest rozszerzenie Extended TS Conditions (conditions), które wprowadza operatory AND oraz OR, ale nie mogę go użyć, gdyż gryzie mi się z innym ext [co niestety jest wspomniane w dokumentacji tej wtyczki]. szukam innego rozwiązania, muszę obejść jeden z błędów explodera w wersji <7 i chcę zrobić to "globalnie" w typoscripcie dołączając odpowiedni css+js. jak na złość wszystkie rozwiązania wskazują na ext conditions..


pozdro,
pjy
Napisane: 25.03.2009 [08:25]
biesior
admin
zarejestrowany: 20.03.2008
Posty: 1354
PeeJay napisał/a


czy jest możliwość podania warunku złożonego? np "jeśli przeglądarka to MSIE w wersji poniżej 7"



Wykorzystaj czystą TS'ową składnię gdzie masz do dyspozycji zarówno AND (&&) jak i OR (||)...
http://typo3.org/documentation/document-library/references/doc_core_tsref/4.2.0/view/1/4/

TYPOSCRIPT
# domyślny kod dla wszystkich przeglądarek
 
[browser = msie] && [version = < 7]
   # dodatkowe nagłówki dla IE poniżej 7
[global]


Mój Muminek, moja Ula odeszła icon_frown.gif [']
Napisane: 25.03.2009 [08:25]
kss
admin
zarejestrowany: 19.07.2007
Posty: 829
ja bym unikał robienia warunków na przeglądarkę, ponieważ każdy taki warunek wymaga, żeby strona została wygenerowana ponownie i zajęła miejsce w cache.
Otrzymujesz więc 2x więcej genereowania i 2x więcej objętości cache.

Spróbuj może zastosować wykrywanie przeglądarki przez javascript. Powszechnie stosowaną metodą jest:

JAVASCRIPT
<!--[if lte IE 6]>
<style type="text/css" media="screen">@import "jakis.css";</style>
<script type="text/javascript" src="jakis.js"></script>
<![endif]-->



Certyfikowany Integrator Systemu TYPO3
http://www.cms-partner.pl
Napisane: 25.03.2009 [12:45]
PeeJay
Twórca tematu
zarejestrowany: 02.12.2008
Posty: 19
@biesior:
sęk w tym, że właśnie to nie działa.. stąd moje poszukiwanie innego rozwiązania.

TYPOSCRIPT
[browser = msie] && [version =< 6]

już na msie6 powinien wywołać kod, który jest poniżej niego - ale tego nie robi.. myślałem, że może ie jest rozpoznawany jako wyższa wersja [mimo v6 wg okna "about"], ale nie - przy warunku browser=msie6 działa pięknie, czyli coś nie halo jednak z tymi warunkami [po zainstalowaniu w/w rozszerzenia - śmigało, ale jak pisałem, blokowało inne, więc musiałem zrezygnować].

@kss:
tak, to rozwiązanie znam, ale spodziewałem się, że da się je obejść [na wypadek wyłączonego js u użytkownika]

//edit:
tfu! ale głupstwo palnąłem.. te warunki przecież nie są javascriptowe..
hehe, właśnie to do mnie dotarło.. no chyba że się mylę icon_wink.gif jeśli nie - dzięki, za zmuszenie do ponownego spojrzenia na tą metodę icon_wink.gif

[Ten temat był edytowany 2 razy. Ostatnio 25.03.2009 o 12:52.]

pozdro,
pjy
Napisane: 25.03.2009 [14:22]
biesior
admin
zarejestrowany: 20.03.2008
Posty: 1354
Jak widać na załączonym obrazku to są warunki TypoScriptowe icon_wink.gif testuj, testuj

Mój Muminek, moja Ula odeszła icon_frown.gif [']
Napisane: 25.03.2009 [14:39]
PeeJay
Twórca tematu
zarejestrowany: 02.12.2008
Posty: 19
hehe, nie nie, te typoscriptowe - to ja wiem, że są TS icon_wink.gif i one mimo to w TS nie działają.. właśnie dlatego temat zakładałem.

moja pomyłka dotyczyła hacka podanego przez kss, czyli komentarz warunkowy w html.

dłubię i dochodzę do wniosku, że najlepszy i tak byłby tu warunek w TS.. hackiem z komentarzami, mogę zrobić dodatkowy include na konkretne wersje przeglądarek, ale nie mam możliwości dodania "else" [albo o tym nie wiem? nie znalazłem takiego zastosowania]. w TS można pięknie blok "else" przygotować - i to mi odpowiada najbardziej, tylko że niestety - i tak nici z zastosowania icon_frown.gif

pozdro,
pjy