С чего начать с отказа от корзины покупок Magento?
Я пытаюсь какой-то тип системы отказа от корзины покупок с Magento, используя встроенный модуль cron. Что мне в основном нужно, так это система, которая проверяет заброшенные тележки каждые 15 минут и отправляет данные выбранной корзины в другой веб-сервис, если с каждой тележкой выполняются определенные критерии.
в основном вот мой процесс (но не стесняйтесь предлагать лучший способ):
процесс
- получить список брошенных корзин
 - для каждой брошенной тележки...
 
- добавить 15 (минут) в поле abandoned_duration этой корзины в базе данных
 - проверьте, находится ли abandoned_duration в 45 или 1440 (1 день) или 4320 (3 дня)
 
- если да,
 
- отправить информацию о корзине в другой веб-сервис
 - если abandoned_duration на 4320 (3 дня),
 
- удалить брошенных корзин
 - еще,
 
- дальше
 - повторяйте каждые 15 минут с помощью Magento cron
 
вопросы
- возможно ли это в Magento?
 - есть ли лучший процесс для этого с помощью Magento?
 - каковы шаги, необходимые для реализации этого? Например...
 
- какие основные модули нужны?
 - какие контроллеры необходимо расширить?
 - должен ли я создать свой собственный модуль для этого?
 - каков наилучший способ получить заброшенные тележки для покупок в виде массива?
 
причина, по которой я обращаюсь к сообществу, заключается в том, что документация и учебники Magento очень расплывчаты. Я новичок в Magento MVC, однако я не новичок в PHP, OOP и MVCs.
любое руководство здесь будет звездным. Овации.
2 ответов
все это можно сделать с помощью Magento, но как вы сказали, это очень обширный вопрос. Я дам ответы на конкретные темы, но предлагаю вам уделить время изучению основ разработки модулей Magento. Вот это отличный учебник Алан шторм (прочитайте всю серию).
получить список брошенных корзин
в Magento, тележка-это просто обертка для sales/quote объект, так что это объект, который вы будете работать с.
Вместо добавления приращений к атрибуту abandoned_duration я предлагаю просто проверить 
вот мой, чтобы получить все активные заброшенные цитаты корзину
$quotes = Mage::getResourceModel('sales/quote_collection')
        ->addFieldToFilter('converted_at', array('null' => true))
        ->addFieldToFilter('customer_email', array('notnull' => true))
        ->addFieldToFilter('items_count', array('gteq' => 1))
        ->addFieldToFilter('customer_is_guest', array('eq' => 0))
        ->addFieldToFilter('customer_id', array('in' => $this->getCustomerIds()))
        ->addFieldToFilter('is_active', 1)
        //->addFieldToFilter('updated_at', array('to' => $from));
        ;