Magento - отслеживание того, кому возвращать - PullRequest
2 голосов
/ 11 августа 2011

У нас есть мультисайт Magento, который возвращает процент некоммерческой организации, и мы хотели бы, чтобы клиенты могли выбирать, какую некоммерческую группу или группу в этой некоммерческой организации получать процент.,

Пытаясь упростить процесс, мы подумали, что разрешаем клиентам вводить код скидки с названием «ДАЙТЕ НАЗАД на {некоммерческое имя}» (но без фактической суммы в долларах, вычитаемой из покупки, или, может быть, просто копейки,Я не думаю, что у вас может быть 0 к коду скидки), тогда внутренне мы знаем, что вернуть процент этой некоммерческой организации.

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

Есть ли у кого-нибудь какие-либо предложения относительно простого способа сделать это?

Заранее спасибо!

1 Ответ

1 голос
/ 11 августа 2011

Вы можете добавить атрибут к модели котировок / заказов и затем заполнить его соответствующим значением, заполненным на уровне корзины? Это то же самое, что мы сделали для партнерских модулей, которые мы создали в прошлом.

Вам понадобится специальный контроллер, чтобы получить значение при переходе покупателя из корзины в кассу, а это значит, что вам также нужно будет сделать Cart -> Checkout шаг отправкой формы вместо прямой ссылки. *

Затем в конце месяца вам нужно будет запустить отчет о коллекции, который будет выглядеть примерно так:

// I've added a * in the SELECT because I'm not sure of the attribute names off the top of my head :)
$collection = Mage::getModel('sales/order')->getCollection()
    ->addAttributeToSelect('*')
    // Make sure the orders are in the correct date range
    ->addAttributeToFilter(...)
    // Make sure the orders are in a valid state, e.g. processing, pending, complete, etc..
    ->addAttributeToFilter(...)

$donation_total = array();
foreach ($collection as $order) {
    // You'll have to investigate the attribute values for these
    $charity = $order->getData('charity_attribute_code');
    $order_total = $order->getData('order_total_attribute_code');

    if (!isset($donation_total[$charity])) {
        $donation_total[$charity] = 0;
    }

    $donation_total[$charity] += $order_total;
}

print_r($donation_total);

Вы могли бы сделать это более эффективным с помощью правильного SUM() в запросе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...