DetectTabletAsMobile a deviceView
jirinapravnik opened this issue · 5 comments
Ve starší verzi (než byla přidaná view - PHONE) jsem používal při extension. Toto nastavení:
redirect:
mobile:
isEnabled: true # default false
detectTabletAsMobile: true # default false
Pak mi stačilo zavolat $deviceView->isMobileView() v presenteru a tam si nastavil, co chtěl pro mobilní verzi, kterou jsem zobrazoval i na tabletu. Je to možné nějak teď? Když si nastavím usera genta na iphone, dostanu v deviceview ze jsem PHONE - budiz, ale pokud si prepnu na ipad, tak mam device_view TABLET.
Nemel by se nejak brat tady ohled na to detectTabletAsMobile? Jak docilit jinak toho abych mel jeden vzhled pro to i to?
Resp. kdy vlastně dostanu na isMobile() TRUE. Když kouknu sem: https://github.com/iPublikuj/mobile-detect/blob/master/src/IPub/MobileDetect/Events/OnRequestHandler.php - tak mi přijde, že se tam nikdy nedostane ne? Buď mi to hodí tablet, nebo phone.
detectTabletAsMobile - tento parametr se používá pouze při přesměrování, je proto i umístěn v sekci přesměrování. Takže pokud na stránku přijdeš z tabletu a máš povoleno přesměrování tak tě to přesměruje na adresu mobilu.
deviceView - všechny metody okolo "View" jsou o tom že si toto view můžeš nastavit takže použití je pro nějaké tlačítko co vložíš na stránky pro přepnutí verze full/tablet atd. a pak je jedno co máš za zařízení, prostě natvrdo to přepneš na tablet i když si na desktopu. To co zřejmě hledáš jsou metody mobileDetect, takže ve tvém případě v presenteru:
if ($this->mobileDetect->isMobile()) {
//...do whatever
}
isMobile pak sdružuje jak telefony tak tablety.
Podle mě potřebuji deviceView. Mám to takto - přijde uživatel já se podívám, co je zač, pokud je mobilář, tak mu podstrčím view pro mobily (nepřesměrovávám, jen mu dám jinou view). Dole si pak může přepnout na plnou/mobilní verzi taky, což se co zkouším, při mobileDetect nestane.
Já to chápu, tže to funguje takto ve střevech. Přijde člověk, detekuje se co je zač a podle toho se mu nastaví deviceView a to mohu GET parametrem předělat ne? Aspoň tak jsem s tím pořád pracoval a fungovalo, co jsem teď zkoušel na novém projektu, tak nedostávám u deviceView mobile, ale phone. A když právě kouknu na onRequestHandler, tak nastavení deviceView na mobile je až na řádku 167 ale podle mě se dříve než tohle nastaví deviceView na Tablet nebo Phone a na mobile se dle mě nedostane. Nebo mi něco uniká?
Ano chápeš to dobře. V této verzi se to na mobile už nedostane, v podstatě toto view je tam už jen z historických důvodů. Buď máš tablet nebo phone a nebo si to setneš sám
ok, díky za ujasnění uzavírám tedy
Jen teda doplním že můžeš si udělat podmínku s isMobileView() ORTabletView() OR isPhoneView()