Когда Мадженто считает, что повозка должна быть оставлена? Где этот срок установлен?
Если оставить настройки по умолчанию, какие обстоятельства должны возникнуть для Magento 1.7, чтобы рассмотреть заброшенную корзину? Где код, который определяет это определение?
Я знаю, что это, вероятно, установлено где-то в цитате, но я не могу найти ее для жизни.
Я сделал несколько Googling, но, как и многие вопросы Magento, я остался с пустыми руками. Спасибо!
Ответы
Ответ 1
Как вы, вероятно, знаете, что настройка находится здесь:
Admin = > system = > Configuration = > Sales = > Checkout = > Quote Lifetime (days)
Это добавит настройку в базу данных (таблица core_config_data) с помощью пути:
контроль/корзина/delete_quote_after
Этот путь используется в коде:
app/code/core/Mage/Sales/Model/Observer.php line 54
Итак, когда кто-то добавляет что-то в корзину, он будет обновлен. Когда клиент входит в систему и его тележка, он будет обновлен. Когда корзина не обновляется за последние 30 дней. Он будет удален.
Дополнительная информация:
Если вам интересно, когда этот код используется, он используется cronjob magento.
Проверка:
Приложение/код/ядро /Маг/Продажи/etc/config.xml строка 1732
<crontab>
<jobs>
<sales_clean_quotes>
<schedule>
<cron_expr>0 0 * * *</cron_expr>
</schedule>
<run>
<model>sales/observer::cleanExpiredQuotes</model>
</run>
</sales_clean_quotes>
Надеюсь, что это поможет.
Ответ 2
Вопрос заключался в том, когда тележка становится заброшенной, а не когда срок действия цитаты истекает. Поскольку Magento не имеет отказавшихся функций тележки, он произволен. Различные расширения для его добавления позволяют вам установить его.
Ответ 3
В нашей электронной коммерции мы переопределили метод cleanExpiredQuotes
внутри приложения /code/core/Mage/Sales/Model/Observer.php
Наше бизнес-правило выглядит следующим образом:
$quotes = Mage::getModel('sales/quote')->getCollection();
$quotes->addFieldToFilter('created_at', array('to'=>date("Y-m-d", time()-$lifetime)));
$quotes->addFieldToFilter('is_active', 1);
foreach ($this->getExpireQuotesAdditionalFilterFields() as $field => $condition) {
$quotes->addFieldToFilter($field, $condition);
}
$quotes->walk('delete');