Durate lo sviluppo di un sito e-commerce in magengo, può essere necessario per vari motivi di mostrare la tendina della collezione dei paesi, quindi la lista di tutti i Country secondo le impostazioni di Magento.

Ad esempio si può avere la necessità di aggiungere un nuovo campo lato frontend o admin per associare un country ad una certa opzione.

Per fare quensto si possono utilizzare delle semplici funzioni in php per accedere a tutti i nomi dei paesi county compresi i codici di identificazione dei singoli paesi, in modo che siano riconosciuti da magento.

Di seguito il codice per ottenere un array del tipo Country Nomi / codici contry

 


< ? php

$ CountryList = Mage :: getResourceModel ( ‘ directory / country_collection ‘ )
– > loadData ( )
– > toOptionArray ( false) ;

echo ‘ <pre> ‘ ;
print_r ( $ CountryList ) ;
exit ( ‘
‘ ) ;

? >


Il codice qui sopra stampa un array contenente tutti i codici paese e nome paese noto per Magento .

Ma il motivo più comune per cui gli sviluppatori devono accedere alla lista dei paesi in Magento è quello di creare un menu a discesa a tendino . Ci sono diversi modi per ottenere questo risultato e si differenziano a seconda se siete nel pannello admin o lato frontend .


Creare un menu a tendina dei Paesi nel Frontend di Magento

Utilizzare il seguente codice php in qualsiasi file template nel frontend di Magento per ottenere un menu a tendina con il nome del paese come l’etichetta e il codice del paese come valore.


<?php $ _countries = Mage :: getResourceModel ( ‘ directory / country_collection ‘ )
– > loadData ( )
– > toOptionArray ( false)  ?>
<?php if ( count ( $ _countries ) > 0 ) : ?>
<select name=”country” id=”country”>
<option value=””> – Seleziona – < / option>
<?php foreach ($ _countries da $ _country ) : ?>
< value option = “< ? php echo $ _country [ ‘valore’ ] ?> “>
<?php echo $ _country [ ‘ label’ ] ?>
< / option>
<?php endforeach ; ?>
< / select >
 <?php endif ; ?>


Creare un menu a tendina dei Paesi su Admin di Magento

Utilizzare il seguente codice php in qualsiasi file template nel pannello Admin di Magento per ottenere un menu a tendina con il nome del paese come l’etichetta e il codice del paese come valore.


<?php
$ fieldset – > addField ( ‘ paese ‘ , ‘ selezionare’ , array (
‘name’ = > ‘ paese ‘ ,
‘ label ‘ = > ‘ Country ‘ ,
‘valori’ = > Mage :: getModel ( ‘ adminhtml / system_config_source_country ‘) – > toOptionArray ( ) ,
) ) ;
?>