Přizpůsobení designu Drupalu použitému zařízení


Prohlížení webového obsahu na displeji i postaršího mobilního telefonu není žádná novinka, prohlížeč Opera Mini existuje již ve své třetí verzi a to jak pro platformu MIDP-1, tak i MIDP-2. Architektura typu C-S tohoto prohlížeče provádí jakési základní optimalizace stránek, ale proč neoptimalizovat přímo daný web (budu uvažovat Drupal) pro konkrétní zařízení a nezvýšit tak uživatelský komfort ještě o pár příček výš?

Možnost, jak určit, jaký druh obsahu zobrazit je na základě adresy (čili www.mojeadresa.cz vs. mobile.mojeadresa.cz). Pro tento způsob asi většina lidí sáhne po následujícím kousku kódu:

$parts = explode('.', $_SERVER['HTTP_HOST']);
if (
$parts[0] == 'mobile') {

$GLOBALS['theme_custom'] = 'mobile';

$base_url = $_SERVER['HTTP_HOST'];
}

Ovšem pro použití na freewebech, kdy je adresa tvořena ve třetím řádu již samotným názvem webu tento způsob není možné využít. Pokud má někdo vlastní doménu a tento způsob by mu vyhovoval, nechť tedy pokračuje na stránky Drupalu, kde se tento způsob řeší. Můj způsob spočívá v detekování prohlížeče, pomocí skriptů Skiffieho (který má funkčnost vysvětlenu i s příklady na svém blogu).

Pro jednoduché stránky se jeví jako ideální zdetekovat, jaký prohlížeč přistupuje a na základě této informace mu podstrčit kaskádový styl optimalizovaný pro tento prohlížeč. Drupalu je možné na základě této informace předhodit konkrétní téma, které má využít. Protože se jedná o mobilní zařízení, budu uvažovat téma mobile. Ovšem téma v Drupalu není jenom změna stylu, je možné odebírat jednotlivé bloky…

Sprovoznění je více než jednoduché. Stačí nainstalovat téma mobile, povolit jeho používání a v adresáři /sites/default/ přidat na konec souboru settings.php jednoduchou podmínku a nakopírovat a přiložit Skiffieho skripty.

include "accessibility.php";
if (
is_mobi())
$conf = array(

'theme_default' => 'mobile',

'anonymous' => 'mobileVisitor'

);

Možná by ještě nebylo od věci přidat rozšíření switchtheme, kdyby přece jenom detekce nebyla stoprocentní. Potom je možné přepnout aktuální téma pomocí url, kam se přidá ?q=node&theme=nazevtematu.


Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *