Witam.
Wszystkiego dobrego w Nowym 2007 Roku.

Odpowiem tak. Nie da siĂŞ zrobiĂŚ, aby moduÂł dziaÂłaÂł poprawnie pod
Internet Explorerem, dlatego, Âże wedÂług autora moduÂłu, on juÂż dziaÂła poprawnie (ale przewrotnie!). Niepoprawnie, dalej wedÂług autora moduÂłu, dziaÂła
Twoja templatka,
moja templatka, i pewnie templatki
paru tysiĂŞcy ludzi, ktĂłrzy korzystajÂą z Joomla. I napiszĂŞ przewrotnie, znĂłw, Âże
autor ma racjĂŞ!. Chodzi o tryb pracy
Internet Explorer'a. MoÂże on pracowaĂŚ w trybie normalnym,
standardowym, lub w tak zwanym trybie "
quirks mode", czyli kompatybilnym "wstecz" z wczeÂśniejszymi wersjami IE, np. wersjÂą 5.5. Po napotkaniu skryptu np. twojej templatki, podaniu analizie,
Internet Explorer wybiera sam sobie tryb odpowiedni do tego, czy twoja templatka speÂłnia standardy
WC3, czy nie. JeÂśli speÂłnia, a sÂą takie templatki, wĂłwczas pozostaje w trybie "
standard", i moduÂł "
RokLatest News" pracuje poprawnie. WidziaÂłem na wÂłasne oczy takie strony. JeÂżeli natomiast templatka nie speÂłnia wymogĂłw
WC3, wĂłwczas
Internet Explorer "prze³¹cza" siê w tryb "
quirks mode", i widzisz to, co widzisz, czyli niepoprawnie dziaÂłajÂący moduÂł. I teraz pytanie. Po "kiego" autor napisaÂł taki moduÂł, ktĂłry pod jednÂą przeglÂądarka "dziaÂła" bez zarzutĂłw, a pod innÂą nie?. MyÂślĂŞ, Âże "
walczy" o zachowywanie, lub bardziej, "
przestrzeganie" standardĂłw WC3 przez uÂżytkownikĂłw Joomla. Tylko teraz nastĂŞpne pytanie?. W imiĂŞ czego "walczy"?. PrzecieÂż "
utrzymanie" standardu WC3 nie jest takie proste. Ja na mojej stronie mam okoÂło
100 ostrze¿eù o b³êdach w kodzie, i to czêsto nie z samej templatki, tylko np. z tekstów pisanych w edytorze i widniej¹cych na stronie g³ównej. No có¿. Skoro autor modu³u, wspania³ego modu³u nie chce, aby u¿ywa³o go wiele osób, to ju¿ jego sprawa. To tyle tytu³em wstêpu.

Teraz co do praktycznych porad.

MoÂżemy "
zmusiĂŚ" IE aby nie "
prze³¹cza³" siê w tryb "
quirks mode", usuwajÂąc z templatki tak zwany
XML Prolog, czyli definicjĂŞ wersji
XML, stosowanej na naszej stronie, ktĂłra to, wedÂług jednych jest wymagana, wedÂług innych nie. U mnie, po "
zaslashowaniu" linijki z
XML Prologiem, modu³ zacz¹³ dzia³aÌ, ale inne modu³y, boty i komponenty zaczê³y "dziwnie" siê zachowywaÌ. Bot
dynamicImage wyÂświetlaÂł mi obrazki nie tam, gdzie powinien. I wiele innych, dziwnych rzeczy. Ale tylko pod IE. Pod
Firefoxem wszystko byÂło w porzÂądku. Co naleÂży, lub moÂżna zrobiĂŚ?. Oto kod pierwszych linii mojej templatki:
Kod: |
<?php
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
// needed to seperate the ISO number from the language file constant _ISO
$iso = explode( '=', _ISO );
// xml prolog
echo '<?xml version="1.0" encoding="ISO-8859-2"?' .'>';?>
|
Widzimy na dole
XML Prolog. Mozemy zrobiĂŚ tak:
Kod: |
<?php
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
// needed to seperate the ISO number from the language file constant _ISO
$iso = explode( '=', _ISO );
// xml prolog
// echo '<?xml version="1.0" encoding="ISO-8859-2"?' .'>';
?>
|
... i w ten sposĂłb linijka z
Prologiem XML bĂŞdzie "
niewidzialna" dla interpretatora PHP oraz przeglÂądarki, poprzez podwĂłjne znaki "/" (slash), lub zastosowaĂŚ "mojÂą metodĂŞ":
Kod: |
<?php
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
// needed to seperate the ISO number from the language file constant _ISO
$iso = explode( '=', _ISO );
// xml prolog
$browser = getenv("HTTP_USER_AGENT"??);
// IE5 // IE6
if (preg_match("/MSIE 5.+Win./", $browser) || preg_match("/MSIE 6.+Win./", $browser)) {
echo ' ';
}else{
echo '<?xml version="1.0" encoding="ISO-8859-2"?' .'>';
}
?>
|
..czyli wstawiamy instrukcjĂŞ "warunkowÂą"
if, aby przy wizycie goÂścia z IE,
XML Prolog nie byÂł uwzglĂŞdniany w kodzie naszej templatki, a w pozostaÂłych przypadkach byÂł.
Co jeszcze moÂżemy zrobiĂŚ?.

MoÂżemy zaopatrzyĂŚ siĂŞ w templatke speÂłniajacÂą "standardy", tylko trzeba trochĂŞ poszukaĂŚ. Ale czy warto dla jednego moduÂłu?.

MoÂżemy nic nie robiĂŚ, czyli zostawiĂŚ kod templatki "w spokoju", i liczyĂŚ, Âże odwiedzjÂących nas goÂści z IE bĂŞdzie jak najmniej, ale to raczej niemoÂżliwe.

MoÂżemy nie instalowaĂŚ moduÂłu. No... Ale to juÂż tylko w ekstremalnych przypadkach

.

Koncowy tekst. Co do drugiej czĂŞÂści twojego postu "
pagoad", to moduÂłu nie da siĂŞ "rozÂłoÂżyĂŚ" na czĂŞÂści, i to teÂż jest pewnie "pomysÂł" autora

. Jego prawo.

To tyle na temat
RokLatest News. MoÂże coÂś z nim "pokombinujĂŞ", ale dopiero wtedy, jak bĂŞde miaÂł wiĂŞcej czasu. Pozdro.
Jokris.