Wie kann ich programmgesteuert die region_id in Magento aus einem 2-Zeichen-Zustandskürzel erhalten? Ich bin mit Magento 1.4.2, wenn das überhaupt eine Rolle spielt.
Antworten
Zu viele Anzeigen?
Oğuz Çelikdemir
Punkte
4992
Hier finden Sie eine Sammlung aller Staaten/Regionen eines bestimmten Landes.
/**
* Get region collection
* @param string $countryCode
* @return array
*/
public function getRegionCollection($countryCode)
{
$regionCollection = Mage::getModel('directory/region_api')->items($countryCode);
return $regionCollection;
}
Auffüllen der Regionenliste mit der Regionensammlung. Der Ländercode (z. B. NL, NP, EN) wird als Parameter an die Funktion getRegionCollection übergeben.
$regionCollection = $this->getRegionCollection($countryCode);
<select name='customer[region]' id='customer:region' class="validate-select" >
<option>Please select region, state or province</option>
<?php
foreach($regionCollection as $region) {
?>
<option value="<?php echo $region['name'] ?>" ><?php echo $region['name'] ?></option>
<?php
}
?>
</select>
Naveenbos
Punkte
2486
Das hat bei mir funktioniert.
<div class="field">
<label for="region_id" class="required"><em>*</em><?php echo $this->__('State/Province') ?></label>
<div class="input-box">
<select id="region_id" name="region_id" title="<?php echo $this->__('State/Province') ?>" class="validate-select">
<option value=""><?php echo $this->__('Please select region, state or province') ?></option>
<?php
$regions = Mage::getModel('directory/country')->load('US')->getRegions();
foreach($regions as $region)
{
echo "<option value=$region[name]>".$region['name'] . "</option>";
}
?>
</select>
</div>
</div>