12 Stimmen

Get region_id From State Abbreviation - Magento 1.4.2

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.

29voto

Christopher Manning Punkte 4457
$regionModel = Mage::getModel('directory/region')->loadByCode($regionCode, $countryCode);
$regionId = $regionModel->getId();

1voto

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>

0voto

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>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X