web-dev-qa-db-fra.com

Conception de la boîte de sélection dans joomla

J'ai un selectbox dans lequel les options proviennent d'un module. Voici son code.

<div id="dropdown">
<form action="" method="post" name="country"><label for="country"></label>
<select id="country" name="country" onchange="this.form.submit()">


<?php

    $rows = Array('UAE', 'SA', 'OMAN');

foreach($rows as $row){ 

    if($row == $session->get('cont')){ 

        $isSelected = ' selected="selected"'; 
    } 
    else { 
        $isSelected = ''; 
    } 

    echo "<option ".$isSelected.">".$row."</option>";
    }
?>

</select>
</form>
</div>

Maintenant, je veux montrer des drapeaux de pays avec chaque option. S'il vous plaît suggérer s'il y a un plugin Java-script que je peux utiliser ou tout autre moyen simple.

2
Agha

Avez-vous essayé de rechercher country flag drop down jquery ou similaire? Personnellement, j’ai utilisé de nombreuses options ce plugin jQuery plus tôt. Vous devriez pouvoir l'intégrer à votre code existant en modifiant l'instruction echo.

En gros, vous devez charger les fichiers .js et .css inclus et vous assurer que jQuery est inclus dans votre modèle.

//include scripts in header. (Add jQuery if needed.)
JHtml::_('script', JUri::base() . 'path/to/your/files/jquery.dd.min.js');
JHtml::_('stylesheet', JUri::base() . 'path/to/your/files/dd.css', array(), true);
JHtml::_('stylesheet', JUri::base() . 'path/to/your/files/flags.css', array(), true);

//initiate the script
$doc = JFactory::getDocument();
$doc->addScriptDeclaration('
  jQuery(document).ready(function($) {
    $("#country").msDropdown();
  })
');

Maintenant modifiez votre déclaration echo en quelque chose comme ceci:

echo "<option ".$isSelected." value='".$row."' data-image='/path/to/your/files/blank.gif' data-imagecss='flag ".strtolower($row)."' data-title='".$row."'>".$row."</option>;

Vous devrez peut-être un peu modifier le code pour que cela fonctionne, je ne l'ai pas testé, mais cela en vaut la peine.

Une autre alternative (peut-être plus facile) est le plug-in Country Picker jQuery , mais elle utilise un <div> Elément au lieu d’une liste déroulante normale, et vous devriez éditer votre boucle PHP.

Bonne chance.

3
johanpw