Back to top

Autore Topic: Personalizzazione modulo Language Switcher Joomla 3  (Letto 2130 volte)

Offline Graphos Srl

  • Esploratore
  • **
  • Post: 54
    • Mostra profilo
Personalizzazione modulo Language Switcher Joomla 3
« il: 17 Gen 2015, 19:51:02 »
Salve a tutti.
Come già molti sapranno il modulo nativo permette di visualizzare le bandiere o di visualizzare una tendina con le lingue.

La nostra necessità sarebbe quella di inserire le bandiere nella tendina.
Come sempre molti sapranno nel tag <select> <option> non è possibile far comparire un immagine, ma è possibile applicare uno sfondo tramite l'attributo style.
Andando a modificare il php nel file che crea la tendina siamo riusciti a far in modo che si vedano le bandiere per quanto riguarda le <option>, purtroppo usando lo stesso codice nel tag <select> non riusciamo a sortire l'effetto desiderato.
In questo momento non ho il codice sotto mano che posterò lunedi mattina, volevo intanto sapere se qualcuno ha già scritto un codice del genere, o se conoscete un'altra soluzione.


Saluti Alessandro

Offline alessioa

  • Abituale
  • ****
  • Post: 1136
  • Sesso: Maschio
    • Mostra profilo
Re:Personalizzazione modulo Language Switcher Joomla 3
« Risposta #1 il: 18 Gen 2015, 13:44:36 »
Ciao,

sai che non ho capito bene, poi quando posti il codice me lo guardo.

Comunque nella select volendo puoi passare un'immagine usando lo pseudo elemento di CSS3.

Codice: [Seleziona]
.mod-languages select option[value="/en/"]:before {    content: url("/media/mod_languages/images/en.gif");}

il problema è che Joomla non gli passa il valore sulla lingua selezionata, come vedi nell'allegato infatti la lingua italiana non ha la bandiera, in sostanza te l'aggiunge dopo la selezione, credo comunque che con un pò di php e magari jquery si posso fare.


[allegato eliminato automaticamente dopo un anno]
Realizzazione siti Joomla! | I love Wing Chun :-) | Non promettere nulla a nessuno se non sei certo di poterlo mantenere .

Offline Graphos Srl

  • Esploratore
  • **
  • Post: 54
    • Mostra profilo
Re:Personalizzazione modulo Language Switcher Joomla 3
« Risposta #2 il: 19 Gen 2015, 09:39:10 »
 Ciao Alessioa
Ti ringrazio per la risposta, ho provato il tuo codice css ma non mi si vede la bandierina.

Ti posto ciò che sono riuscito a fare io:

Ho ottenuto questo risultato modificando il file:
/modules/mod_languages/tmpl/default.php
Codice: [Seleziona]
<form name="lang" method="post" action="<?php echo htmlspecialchars(JUri::current()); ?>" >
   <select class="inputbox" onchange="document.location.replace(this.value);">
   <?php foreach ($list as $language) : ?>
      <option dir=<?php echo JLanguage::getInstance($language->lang_code)->isRTL() ? '"rtl"' '"ltr"'?> value="<?php echo $language->link;?>" <?php echo $language->active 'selected="selected"' ''?> style="background:<?php echo ( 'url(media/mod_languages/images/' $language->image '.gif)' 'no-repeat 3px center');?>"">
      <?php echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' $language->title_native;?></option>
   <?php endforeach; ?>
   </select>
   </form>

Grazie alla variabile language riesco a passare dinamicamente la variabile della lingua.
Ho provato poi a copiare lo stesso style nel tag option, ma il risultato è questo:


Codice: [Seleziona]
style="background: url('/fontaiola6/media/mod_languages/images/.gif')no-repeat 3px center"

Come sottolineavi tu la variabile ancora non è stata passata.
Per di giù mentre scrivo mi sono accorto che le bandiere con questo metodo si vedono solo su firefox.

Proposte?!

 



Web Design Bolzano Kreatif