2

「アメリカ領サモア」のようなmagento 1.12.0.2のチェックアウト(onestepcheckout)ページから特定の都道府県を削除したい「/app/code/local/Mage/Directory/」内のData.phpファイルを変更してみました

    public function getRegionJson()
    {
        $exclude_regions = array ('AS','FM');
        Varien_Profiler::start('TEST: '.__METHOD__);
        if (!$this->_regionJson) 
        {
            $cacheKey = 'DIRECTORY_REGIONS_JSON_STORE'.Mage::app()->getStore()->getId();
            if (Mage::app()->useCache('config')) {
            $json = Mage::app()->loadCache($cacheKey);
        }
        if (empty($json)) 
        {
            $countryIds = array();
            foreach ($this->getCountryCollection() as $country) 
            {
            $countryIds[] = $country->getCountryId();
            }
        $collection = Mage::getModel('directory/region')->getResourceCollection()
        ->addCountryFilter($countryIds)
        ->load();
        $regions = array();
        foreach ($collection as $region) {
        $rg = $region->getCode();
        //if ($rg!='AL'){
        if(!in_array($rg, $exclude_regions)) {
        if (!$region->getRegionId()) {
        continue;
        }
        $regions[$region->getCountryId()][$region->getRegionId()] = array(
        'code' => $region->getCode(),
        //'name' => $region->getName()
        'name' => $this->__($region->getName())
        );
        }
        }
        $json = Mage::helper('core')->jsonEncode($regions);
        if (Mage::app()->useCache('config')) {
        Mage::app()->saveCache($json, $cacheKey, array('config'));
        }
        }
        $this->_regionJson = $json;
        }
        Varien_Profiler::stop('TEST: '.__METHOD__);
        return $this->_regionJson;
    }

しかし、運がなかったので、これを行う方法について助けていただければ幸いです

前もって感謝します

4

1 に答える 1

0

上記のコードは正常に動作します。Magento キャッシュ ストレージをフラッシュする必要がありました。

于 2013-04-12T18:25:14.320 に答える