Autore Topic: Doppio Template per mobile  (Letto 8786 volte)

Offline graduus

  • Esploratore
  • **
  • Post: 187
    • Mostra profilo
    • Graduus
Doppio Template per mobile
« il: 03 Feb 2008, 21:58:15 »
@moderator: spero di aver preso la sezione giusta...

@all:
Volevo avere un template per chi navigasse col pc e uno per chi invece si trovasse a navigare nel mio sito con un PDA o un aggegio simile.
Visto che l'idea di usare il CSS è tragica, visto che tenere nascosti i div/etc non ne impedisce il caricamento, mi è venuta questa idea:
io metto nell'index.php una funzione che mi riconosca lo User Agent, se è un pda mi carica un template se no l'altro (che magari è l'acqua calda e voi lo fate da anni ma io ci ho pensato poc'anzi... e fin qui la teoria funziona.
ma andiamo con la pratica:

io ho un windows mobile, e lo User Agent vi viene scritto UA e non USER_AGENT, perciò intanto ho fatto così:
Codice: [Seleziona]
@$ua=$_SERVER['HTTP_UA_OS'];
if($ua){include 'index_.php';}else {include ($mosConfig_absolute_path.'/templates/vam_jblue/index.php');}
ma questa si basa che tutti i pda/smartphone scrivano UA e non USER_AGENT (perché poi?). Indi quindi e perciò mi rivolgo a voi: c'è un modo per capire se il visitatore arriva con un pda o con un pc? Il css riconosce il media Handled, ma a) non so come prenderlo, b)il mio windows mobile viene preso come un pc normale...

ho girovagato un po', e mi sono trovato un sito che mi dice che se c'è la parola nokia/samsung/lg/htc/motorola allora è un pda/smartphone e grazie, io aggiungerei anche se dice windowsCE... ma poi?

suggerimenti e pareri, please...

Offline graduus

  • Esploratore
  • **
  • Post: 187
    • Mostra profilo
    • Graduus
Re: Doppio Template per mobile
« Risposta #1 il: 03 Feb 2008, 23:34:11 »
Per ora ho risolto così, pare che vada :D
Codice: [Seleziona]
<?php
defined
'_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
$ua=$_SERVER['HTTP_USER_AGENT'];
if (!
$ua){$ua=$_SERVER['HTTP_UA_OS'];}
$list="Blazer,Palm,Handspring,Nokia,Kyocera,Samsung,Motorola,Smartphone,Windows CE,Blackberry,WAP,SonyEricsson";
$list=split (','$list);
$num=count($list);
$type='pc';
for (
$i=0$i<$num$i++){
if (
eregi($list[$i], $ua)){$type="pda";}
 else if (!
eregi($list[$i], $ua) && $type=="pc"){};
 }
 if (
$type=="pda")include $mosConfig_absolute_path.'/templates/madeyourweb/index.php';}
 else { include 
$mosConfig_absolute_path.'/templates/rhuk_solarflare_ii/index2.php';}


*/
?>
Se conoscete altri nomi da inserire... ditemeli... grazie :)

Offline bigham

  • Global Moderator
  • Instancabile
  • *****
  • Post: 3662
  • Sesso: Maschio
  • Contagiato dalla Joomlaite :)
    • Mostra profilo
    • maidireJoomla!
Re: Doppio Template per mobile
« Risposta #2 il: 04 Feb 2008, 08:55:11 »
Complimenti graduus!  ;D
La soluzione mi sembra ottima. Addirittura sarebbe possibile creare un template ottimizzato per ogni modello di PDA :D

L'unica cosa che proverei, ma quì mi scontro con la mia scarsa frequentazione di php, è quello di provare a ottimizzare il codice sostituendo l'iterazione for con qualcosa di più veloce (sempre che sia possibile).
Non che fare la scansione di un array di 12 elementi sia poi così sbagliato, intendiamoci, ma se si può fare con meno dispendio di tempo... perchè no?  ;D

Ciao
Ci sono più cose in cielo e in terra, Orazio, di quante ne sogni la tua filosofia.

Offline .Andrea S.

  • Instancabile
  • ******
  • Post: 4404
  • Sesso: Maschio
    • Mostra profilo
    • Joomlovers
Re: Doppio Template per mobile
« Risposta #3 il: 04 Feb 2008, 10:10:22 »
hai provato questo plug-in: PDA mambot
Andrea | www.joomlovers.net | Il sito per gli amanti di Joomla!

Offline guardiano78

  • Nuovo arrivato
  • *
  • Post: 22
    • Mostra profilo
    • C.S.S. Informatica
Re:Doppio Template per mobile
« Risposta #4 il: 30 Set 2010, 11:11:10 »
per favore mi dite cove devo inserire questo codice per avere il doppio template?
in che file? a che riga?

grazie.

Offline bigham

  • Global Moderator
  • Instancabile
  • *****
  • Post: 3662
  • Sesso: Maschio
  • Contagiato dalla Joomlaite :)
    • Mostra profilo
    • maidireJoomla!
Re:Doppio Template per mobile
« Risposta #5 il: 30 Set 2010, 20:57:20 »
Ciao guardiano78

Ti sei accorto che il post era del 2008? Non era meglio aprire un post che facesse riferimento a questo?
Se quelli che hanno partecipato a questa discussione non fossero più stati utenti del forum non ti avrebbe risposto nessuno.

Comunque sia, lo dice graduus nel primo post: nel file index.php del template.

Stiamo parlando della versione 1.0 di joomla però!
Ci sono più cose in cielo e in terra, Orazio, di quante ne sogni la tua filosofia.

Offline fox74

  • Nuovo arrivato
  • *
  • Post: 1
    • Mostra profilo
Re:Doppio Template per mobile
« Risposta #6 il: 20 Ago 2012, 16:58:52 »
Ciao vorrei sapere dove inserire il codice per il doppio template, ho capito che inserito nel file index.php della template, ma va duplicata la template o si usa sempre la stessa con l'aggiunta del codice.Ho provato ad inserire il codice pubblicato da graduus ad inizio del codice ma poi mi da la home page paggina bianca.... potete aiutarmi? Grazie Ovvimente stiamo parlando della versione 1.0  ;)

 

Torna su