Ocena wątku:
- 0 głosów - średnia: 0
- 1
- 2
- 3
- 4
- 5
przekierowanie na mobilną wersję strony oraz z mobilnej na full
|
Liczba postów: 16
Liczba wątków: 6
Dołączył: 09-05-2011
Reputacja:
0
witam
od jakiegoś czasu chcę zrobić mobilną wersję strony, a raczej już prawie jest zrobiona, szukałem w necie jak można automatycznie przekierować mobilne urządzenia na mobilną wersję i znalazłem fajny artykuł wykorzystujący skrypt google.
http://www.xpert.net/knowledgebase.php?action=displayarticle&id=2
jet opisany co i jak i działa to ale w połowie. ponieważ nie mogę znaleźć dokładnego opisu jak ze strony mobilnej mimo wszystko kiedy użytkownik chce zobaczyć pełną stronę mam zrobić przekierowanie tak aby strona już nie przekierowywała go na mobilną wersję na wszystkich podstronach. wiem że odpowiadają za to ciasteczka lecz mimo opisu jak modyfikować cookies nie ma tego dokładnie wytłumaczonego i nie ma podanego jak podlinkować do strony full ponieważ jesli wpiszemy jako link do strony full tylko adres strony głównej to znów nas wywali na mobilną. Myślę że opis może pomóc wielu osobom i jest warty temat aby się nim szerzej zainteresować, więc jeśli ktoś jest w stanie pomóc będę wdzięczny
Pozdrawiam
Liczba postów: 40
Liczba wątków: 0
Dołączył: 07-03-2013
Reputacja:
0
Jesteś pewien, że na stronie głównej też sprawdzasz to ciasteczko ?
Samo istnienie ciasteczka nic nie da. Musisz jeszcze mieć na każdej stronie kod, który Ci sprawdzi istnienie tego ciastka i zrobi co trzeba.
Generalnie wydaje mi się, że w tym tutorialu jest to dobrze wytłumaczone...
Liczba postów: 817
Liczba wątków: 16
Dołączył: 27-04-2011
Reputacja:
45
http://xlab.pl/wykrywanie-przegladarek-na-urzadzenia-mobilne/
http://detectmobilebrowsers.com/
Liczba postów: 16
Liczba wątków: 6
Dołączył: 09-05-2011
Reputacja:
0
05-04-2013, 22:31
(Ten post był ostatnio modyfikowany: 05-04-2013, 22:38 przez zaxxx.)
generalnie robię tak jak w opisie a więc:
na każdej mobilnej podstronie ten kod:
Kod: <?php
setcookie("mobile", "true", time()+3600, "/", "site_url");
?>
na każdej stronie głównej a w moim przypadku doklejony kod do index.php folderze szablony w Joomla:
Kod: <?php
include 'path_to_mobile_detect_php_script/Mobile_Detect.php';
$detect = new Mobile_Detect();
$want_mobile = true;
if( isset($_COOKIE['mobile'] ) ){
if( $_COOKIE['mobile'] == "true" ){
$want_mobile = 1;
} else $want_mobile = 0;
if( isset( $_SERVER['HTTP_REFERER'] ) ){
$referer = $_SERVER['HTTP_REFERER'];
if( strpos( $referer, "mobile_site_url" ) ){
$want_mobile = 0;
setcookie("mobile", "false", time()+3600, "/", "site_url");
}
}
}
if ( $detect->isMobile() && $want_mobile ){
header('Location: http://mobile_site_url/', true, 302);
}
?>
no i na koniec sam link do strony mobilnej
Kod: <?php
if ( $detect->isMobile() ){
echo "<a href=\"http://mobile_site_url\">[Mobile site]</a>";
}
?>
nastepnie zgodnie z dalszą częścią dokonałem zmian w kodzie i nic... może coś źle robię ? to jest joomla więc może nie powinienem doklejać kodu do index.php szablonu tylko jakoś inaczej to zrobić ? ale samo przekierowanie na mobilną wersję działa.
(05-04-2013, 22:21)hieroshima napisał(a): http://xlab.pl/wykrywanie-przegladarek-na-urzadzenia-mobilne/
http://detectmobilebrowsers.com/
http://xlab.pl/wykrywanie-przegladarek-na-urzadzenia-mobilne/
ten kod robi to samo co tek którego używam a więc wykrywa mobilne urządzenia, więc nie wiele mi to pomoże, kolejny link to coś bardzo podobnego, a mi chodzi o to jak z mobilnej wrócić na pełną z zapisaniem tego wybory w ciasteczkach...
Liczba postów: 125
Liczba wątków: 8
Dołączył: 12-12-2012
Reputacja:
8
...a nie możesz po prostu "pozbyć" się ciastka?
Kod: <?php
setcookie("mobile", "", time()-3600);
?>
Możesz zastosować np. takie coś:
Kod: <?php
if($_GET['mobile']=='off') {
setcookie("mobile", "", time()-3600);
}
?>
...i wtedy do full wersji wracasz linkiem typu: adresstrony.pl?mobile=off
Liczba postów: 16
Liczba wątków: 6
Dołączył: 09-05-2011
Reputacja:
0
(10-04-2013, 17:45)atp napisał(a): ...a nie możesz po prostu "pozbyć" się ciastka?
Kod: <?php
setcookie("mobile", "", time()-3600);
?>
Możesz zastosować np. takie coś:
Kod: <?php
if($_GET['mobile']=='off') {
setcookie("mobile", "", time()-3600);
}
?>
...i wtedy do full wersji wracasz linkiem typu: adresstrony.pl?mobile=off czyli po modyfikacji powinno to wyglądać tak:
Kod: <?php
include 'path_to_mobile_detect_php_script/Mobile_Detect.php';
$detect = new Mobile_Detect();
$want_mobile = true;
if( isset($_COOKIE['mobile'] ) ){
if( $_COOKIE['mobile'] == "true" ){
$want_mobile = 1;
} else $want_mobile = 0;
if( isset( $_SERVER['HTTP_REFERER'] ) ){
$referer = $_SERVER['HTTP_REFERER'];
if( strpos( $referer, "mobile_site_url" ) ){
$want_mobile = 0;
if($_GET['mobile']=='off') {
setcookie("mobile", "false", time()+3600, "/", "site_url");
}
}
}
if ( $detect->isMobile() && $want_mobile ){
header('Location: http://mobile_site_url/', true, 302);
}
?>
???
jeśli tak to jest błąd:
Kod: Parse error: syntax error, unexpected $end in /home/templates/cd4445/index.php on line 141
hestes to znacznik </html> w ostatniej lini pliku php, wiec nie wiem co tu nie gra...
|
Podobne wątki… |
Wątek: |
Autor |
Odpowiedzi: |
Wyświetleń: |
Ostatni post |
|
Smarty, książki oraz Szablon HTML5 |
Morfeusz_2005 |
1 |
2,633 |
18-11-2013, 14:34
Ostatni post: prawdziwypiotrek
|
|
starsze wersje strony |
sthefciu |
1 |
2,018 |
22-04-2013, 20:24
Ostatni post: GST
|
|
upload pdf oraz doc/rtf w jednym formularzu |
misiuk |
2 |
2,895 |
27-03-2013, 14:10
Ostatni post: misiuk
|
|
Przekierowanie z zachowaniem nowej domeny |
lomek |
5 |
4,782 |
06-01-2013, 15:30
Ostatni post: andrzejhi
|
|
Przekierowanie domeny |
lomek |
6 |
5,438 |
20-12-2012, 20:06
Ostatni post: lomek
|
Użytkownicy przeglądający ten wątek: 1 gości
|
|
Sponsorzy i przyjaciele
|
|
|