ограничить по умолчанию Наложенный платеж для некоторых почтовых индексов / пин-кодов в magento 1.9.0

мы используем метод оплаты наложенным платежом в magento 1.9.0

нам нужен этот способ оплаты только для определенных почтовых индексов/пин-кодов.

здесь кто-то нашел решение:

Как ограничить COD по умолчанию в magento до только определенные почтовые индексы?

я действительно не могу реализовать это решение с некоторыми идеями.

может ли кто-нибудь подробно объяснить мне шаг за шагом об этом решении.


person Community    schedule 25.03.2015    source источник
comment
Например, я могу ограничить покупку выбранных продуктов только с выбранных почтовых индексов / пин-кодов, возможно ли это?   -  person Gem    schedule 12.08.2017


Ответы (2)


Все, что вам нужно, это отредактировать файл /app/code/core/Mage/Payment/Model/Method/Cashondelivery.php

Откройте его и добавьте приведенный ниже код в самый конец класса (непосредственно перед последней «}» в файле):

public function isAvailable($quote = null)
{
    if ($quote) {

        // Here is the list of restricted Zip Codes
        $restrictedZips = array(
            '85001',
            '87965'
        );

        $address = $quote->isVirtual() ? $quote->getBillingAddress() : $quote->getShippingAddress();
        $customerZip = $address->getPostcode();

        if (in_array($customerZip, $restrictedZips)) {
            return false;
        }
    }

    return parent::isAvailable($quote);
}

P.S.: Обратите внимание, что с этим решением вам нужно будет вводить почтовые индексы прямо в коде. Если вы хотите избежать этого и получить возможность вводить диапазоны почтовых индексов через панель администратора, свяжитесь с нами для получения более подробной информации.

person Mageworx    schedule 25.03.2015
comment
здесь есть возможность ввести список почтовых индексов, которые ограничены. но нам нужно решение для списка разрешенных почтовых индексов. пожалуйста, помогите нам - person ; 27.03.2015
comment
как отобразить это текстовое поле пин-кода на странице просмотра продукта? - person ; 31.03.2015
comment
Например, я могу ограничить покупку выбранных продуктов только с выбранных почтовых индексов / пин-кодов, возможно ли это? - person Gem; 12.08.2017

Сначала вы создадите таблицу почтовых индексов в своей базе данных, а простое поле ввода создадите на странице вашего продукта, а теперь создайте проверку для этого, а затем создайте функцию AJAX для проверки доступности COD почтового индекса или нет.

person Ravi Chomal    schedule 31.03.2015
comment
Большое спасибо, я действительно не настолько эксперт, чтобы делать ваши идеи. но приведенное выше решение работает для меня, но мне нужна ваша помощь здесь: magento.stackexchange.com/questions/62420/ - person ; 01.04.2015
comment
Например, я могу ограничить покупку выбранных продуктов только с выбранных почтовых индексов / пин-кодов, возможно ли это? - person Gem; 12.08.2017