У меня есть компонент отображения и модуля ограничения служб доставок:
Компонент
edost.catalogdelivery выводит службы доставки в карточку товара.
Модуль
alkodesign.restrictions добавляет ограничение служб доставки и оплаты по php строке вида return (true/false) или имя функции.
С помощью ограничения по php строке я сделал в разных службах доставки вот такие ограничения по дням недели и времени:
Код |
<?php
//ограничение по времени работы (с "время открытия" до "время закрытия"), использую для "Самовывоз сегодня".
$now = new \DateTimeImmutable();
$startWork = new \DateTimeImmutable("08:00");
$endWork = new \DateTimeImmutable("23:00");
if ($startWork <= $now && $now <= $endWork) {
return true;
} else {
return false;
}
//ограничение по времени работы (с "время открытия" до "время закрытия"), использую для "Самовывоз завтра".
$now = new \DateTimeImmutable();
$startWork = new \DateTimeImmutable("23:00");
$endWork = new \DateTimeImmutable("+1 day 08:00");
if ($startWork <= $now && $now <= $endWork) {
return true;
} else {
return false;
}
//ограничение по дням работы (суббота и воскресенье).
$now = (new \DateTimeImmutable())->format('w');
if ($now === '6'|| $now === '0') {
return true;
} else {
return false;
}
//ограничение по дням работы (искулючаем субботу и воскресенье).
$now = (new \DateTimeImmutable())->format('w');
if ($now !== '6'|| $now !== '0') {
return true;
} else {
return false;
}
?>
|
Таким же образом хотел бы ограничить и по наличию товара. Штатно можно ограничить по наличию какого-то товара в корзине. Но как правильно передать значения наличия товара в мой php код я не знаю, Ваш способ тоже не помог. Думаю проблема в том, что он почему-то не определяет ID товара и не может подгрузить количество.
Думаю я добавил ясности в эту тему)
Спасибо, что пытаетесь помочь, если вдруг знаете, как такое решить и поможете, буду весьма благодарен!