С чего начать с отказа от корзины покупок Magento?

Я пытаюсь какой-то тип системы отказа от корзины покупок с Magento, используя встроенный модуль cron. Что мне в основном нужно, так это система, которая проверяет заброшенные тележки каждые 15 минут и отправляет данные выбранной корзины в другой веб-сервис, если с каждой тележкой выполняются определенные критерии.

в основном вот мой процесс (но не стесняйтесь предлагать лучший способ):

процесс

  1. получить список брошенных корзин
  2. для каждой брошенной тележки...
    • добавить 15 (минут) в поле abandoned_duration этой корзины в базе данных
    • проверьте, находится ли abandoned_duration в 45 или 1440 (1 день) или 4320 (3 дня)
      • если да,
        • отправить информацию о корзине в другой веб-сервис
        • если abandoned_duration на 4320 (3 дня),
          • удалить брошенных корзин
      • еще,
        • дальше
  3. повторяйте каждые 15 минут с помощью Magento cron

вопросы

  1. возможно ли это в Magento?
  2. есть ли лучший процесс для этого с помощью Magento?
  3. каковы шаги, необходимые для реализации этого? Например...
    • какие основные модули нужны?
    • какие контроллеры необходимо расширить?
    • должен ли я создать свой собственный модуль для этого?
    • каков наилучший способ получить заброшенные тележки для покупок в виде массива?

причина, по которой я обращаюсь к сообществу, заключается в том, что документация и учебники 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));
        ;