[РЕШЕНО] MiniShop2 автоматическая отчистка корзины раз в сутки
Здравствуйте. Кто нибудь может подсказать варианты автоматической очистки корзины раз в сутки? пробовал запускать через крон php файл, но так как нет авторизации в системе под админом, то он не очищает ничего. Спасибо за ответы!
UPD:
задал крону выполнение следующего файла раз в сутки в 00:00
Стирает все сессии, в админку приходится логинится каждый день
UPD:
задал крону выполнение следующего файла раз в сутки в 00:00
Стирает все сессии, в админку приходится логинится каждый день
<?php
define('MODX_API_MODE', true);
require $_SERVER['DOCUMENT_ROOT'].'index.php';
$modx->getService('error','error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');
$sql = "DELETE FROM modx_session";
$count = $modx->exec($sql);
// Получим количество удаленных записей
print("Удалено $count записей.");
?>
Комментарии: 8
Все данные по корзине хранятся в сессии, нет сессии — нет товаров в корзине. Очищай таблицу modx_session. Только придётся логинится каждый раз.
define('MODX_API_MODE', true);
require $_SERVER['DOCUMENT_ROOT'].'/index.php';
$modx->getService('error','error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');
$data = array(
'username' => '*****',
'password' => '*****',
'rememberme' => 1,
'login_context' => 'mrg',
);
$response = $modx->runProcessor('/security/login', $data);
if ($response->isError()) {
} else {
if ($miniShop2 = $modx->getService('miniShop2')) {
$miniShop2->initialize($modx->context->key);
$miniShop2->cart->clean();
};
}
и все равно если даже открыть этот файл в режиме инкогнито браузера — нет толка. если в том окне, где залогинен в админку — корзина очищается
Походу корзина очищается конкретно под того пользователя, чья сессия. А как очистить ее для всех, не удаляя логин админа?
вы пытаетесь залогинится под юзером, но у анонимных пользователей нет аккаунта. Едиственный способ убивать сессию. Скажите первостепенную задачу, для чего вы хотите это реализовать?
В зависимости ото дня недели есть скидки на разные товары. К примеру, в понедельник скидка на пиццу, а во вторник уже на другие позиции. Так вот что бы не было такого, что бы кинул пиццу по скидке в корзину в понедельник, а заказ со скидочной ценой в итоге отправил в пятницу
проще перед оформление заказа делать проверку, после уже выдавать сообщение об изменившейся цене, я думаю это самый правильный вариант. Вариант, которые хотите реализовать вы — по мне идеалогически неверный
плагин или кастомный класс корзины
— писать товару корзину дату добавления
— проверять дату, если не соответствует, удалять товар корзины
— писать товару корзину дату добавления
— проверять дату, если не соответствует, удалять товар корзины
Можно в принципе в куки при каждом добавлении товара присваивать текущую дату, сравнивать плагином и если дата не сегодняшняя — очищать корзину. При этом это будет индивидуально. Но можно зайти в режим разработчика и поправить куки на своем компе )) Маловероятно, но если вдруг — будет не приятно
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.