getAddressesHtmlSelect () Изменить - Magento - PullRequest
3 голосов
/ 20 марта 2012

Я пытался отредактировать функцию getAddressesHtmlSelect() (находится в code/core/Mage/Checkout/Block/Onepage/abstract.php), чтобы "новый адрес" отображался первым в созданном dropdpown.

Я нашел место, где он должен быть изменен, но я не могу понять, как это сделать. Кто-нибудь может помочь? Код в вопросе:

$select = $this->getLayout()->createBlock('core/html_select')
            ->setName($type.'_address_id')
            ->setId($type.'-address-select')
            ->setClass('address-select')
            ->setExtraParams('onchange="'.$type.'.newAddress(!this.value)"')
            ->setValue($addressId)
            ->setOptions($options);

        $select->addOption('', Mage::helper('checkout')->__('New Address'));

        return $select->getHtml();

1 Ответ

5 голосов
/ 20 марта 2012

Ищите перезапись блока magento.
Вам нужно переписать Mage_Checkout_Block_Onepage_Billing и Mage_Checkout_Block_Onepage_Shipping
Просто перепишите эти блоки в своем пользовательском модуле и определите новую логику для getAddressesHtmlSelect функция

Чтобы установить «Новый адрес» в качестве адреса по умолчанию: Собранный рабочий образец для вас.

array_unshift($options, array('value' => '', 'label'=> Mage::helper('checkout')->__('New Address')));
            $select = $this->getLayout()->createBlock('core/html_select')
                ->setName($type.'_address_id')
                ->setId($type.'-address-select')
                ->setClass('address-select')
                ->setExtraParams('onchange="'.$type.'.newAddress(!this.value)"')
                ->setOptions($options);

            return $select->getHtml();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...