1 - "timecart" - тип поля datetime, в нем будет хранится дата добавления товара в корзину покупателем для того, чтобы вычислять через сколько дней отправлять уведомление
2 - "send" тип поля boolean, по умолчанию 0, в нем будет храниться только два числа "0" или "1". Первое означает, что уведомление покупателю еще не было отправлено, а второе, что было. Мне показалось правильным сделать так, чтобы не надоедать покупателям письмами, а отправлять уведомление только один раз. Разумеется, если этот же покупатель вновь добавил товар, ему придет уведомление уже на него.
Далее :
1.Копируем файлы :
reports_cart.tpl.html - в core/tpl/admin
reports_cart.php - в core/includes/admin/sub
customer_order_no.tpl.html в core/tpl/email
2.В reports.php сразу за строкой :
array( "id" => "security", "name" => ADMIN_SECURITY )
вставляем :
,array("id"=>"cart", "name"=>ADMIN_CART)
3. В default.tpl.html после строки :
<div class="marg"><a href="{$smarty.const.ADMIN_FILE}?dpt=reports&sub=security">{$smarty.const.ADMIN_SECURITY}</a></div>
вставляем :
<div class="marg"> <a href="{$smarty.const.ADMIN_FILE}?dpt=reports&sub=cart">{$smarty.const.ADMIN_CART}</a> </div>
В russian.php прописываем константу :
define('ADMIN_CART', 'Недоофомленные заказы');
4. В cart_functions.php меняем функцию :
function InsertItemIntoCart($itemID) { db_query("insert ".SHOPPING_CARTS_TABLE."(customerID, itemID, Quantity)". "values( '".(int)regGetIdByLogin($_SESSION["log"])."', '".(int)$itemID."', 1 )" ); }
на :
function InsertItemIntoCart($itemID) { db_query("insert ".SHOPPING_CARTS_TABLE."(customerID, itemID, Quantity, timecart)". "values( '".(int)regGetIdByLogin($_SESSION["log"])."', '".(int)$itemID."', 1, '".get_current_time()."')" ); }
В файле reports_cart.php есть переменная $days. В ней задается количество прошедших дней с того дня, когда покупатель положил товары в корзину. По умолчанию - 3.
После всего этого, в админке под "Отчеты" должна появиться ссылка "Недоофомленные заказы". Перейдя по ней, можно видеть содержимое корзины покупателей (если прошло заданное $days кол-во дней), а также отправлять им напоминание (текст напоминания можно изменить в файле customer_order_no.tpl.html).
Не исключаю, что где то что то пропустил, или допустил ошибку, хотя у меня лично все работает. Смотрите, используйте и, если что, пишите. Надеюсь, кому нибудь пригодиться )