Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Переменная хранящая сумму в корзине


Recommended Posts

Привет всем.

Возникла задача. В магазине пометить некоторые товары и запретить их продажу до тех пор, пока в корзине не наберется 3000 рублей. Казалось - плёвое дело, на каждой странице в шапке выводится сумма корзины, найди переменную и поставь условие. Если сумма<3000 выводится сообщение а ля "наберите 3 тыщи", если больше - то кнопка добавить в корзину. Однако переменную я не нашел, техподдержка шаблона в помощи отказала, указали только что нужно открыть к ней доступ из контроллера. php я знаю в недостаточной мере, чтобы это сделать, но вообще с программированием знаком хорошо.

Помогите плиз, кто чем может. Грубо говоря, подскажите как получить переменную, а условие сам поставлю.
Адрес: kalei.ru
Шаблон: shop-store 2
OC: Version 2.1.0.2 (rs.1) 

Надіслати
Поділитися на інших сайтах


// Cart Корзина
$this->cart->getProducts(); //Получает все товары находящиеся в корзине учитывая опции, акции.
$this->cart->add( $product_id, $qty = 1, $options = array()); // Добавление товара в корзину
$this->cart->remove( $key ); // Удаление товара из корзины
$this->cart->clear(); // Очистка корзины
$this->cart->getWeight(); // Получение веса всей корзины
$this->cart->getSubTotal(); // Получение суммы цен элементов корзины без вычета налогов
$this->cart->getTotal(); // Получение суммы цен элементов корзины с вычетом налогов
$this->cart->countProducts(); // Получение количества товаров в корзине 
$this->cart->hasProducts(); // Проверяет пуста корзина или нет
$this->cart->hasStock(); // Возвращает false, если хотя бы один элемент корзины отсутствует на складе(в продаже)
$this->cart->hasShipping(); // Возвращает true, если хотя бы один элемент корзины требует доставку
$this->cart->hasDownload(); // Возвращает true, если хотя бы один элемент корзины связан с какой-либо загрузкой 

Описание основных классов можно посмотреть тут. К сожалению, на данный момент, посмотреть сайт можно только в кэше.

  • +1 1
Надіслати
Поділитися на інших сайтах

Только что, halfhope сказал:

$this->cart->getSubTotal(); // Получение суммы цен элементов корзины без вычета налогов

Вот именно это мне нужно. Можете как для дауна пока написать? Что надо прописать в модели, как обратиться в шаблоне? 

Я делаю это впервые, область видимости переменных в php для меня пока дремучий лес. Спасибо

 

Надіслати
Поділитися на інших сайтах


проверку сделать надо во всех контроллерах, где есть товары -  и есть кнопка добавления в корзину

например

if ($this->cart->getSubTotal() > 3000) {

$data['cart_avail'] = 'avail';

}

в шаблонах обернуть кнопку добавления в корзину в

if (isset($cart_avail)) {

//выводим кнопку добавления корзину

}

 

Надіслати
Поділитися на інших сайтах


посмотрите, в карточке есть минимальное количество товара, которое можно купить. по умолчанию поле пустое.
ковыряйте minimun в моделе и контроллере. наверное, проще будет по аналогии сделать.

Надіслати
Поділитися на інших сайтах

Только что, Dimen сказал:

проверку сделать надо во всех контроллерах, где есть товары -  и есть кнопка добавления в корзину

а если минимум в корзине 3К, товар стоит 1.5К, а мне хочется кнопочкой + изменить количество?

Надіслати
Поділитися на інших сайтах

14 минут назад, php5 сказал:

а если минимум в корзине 3К, товар стоит 1.5К, а мне хочется кнопочкой + изменить количество?

после изменения корзины, можно перезагружать страницу(самый простой вариант реализации задачи)

Змінено користувачем Dimen
Надіслати
Поділитися на інших сайтах


Только что, php5 сказал:

если в корзине ничего нет и я хочу в карточке плюсиками изменить количество товара на допустимое минимумом и нажать купить.

Вы не верно поняли. Суть ограничения не в минимальной сумме заказа это я уже делал, есть очень простой способ. Вопрос вот в чем: Есть 2 типа товаров:
1 тип) можно добавлять в корзину при любом раскладе
2 тип) можно добавлять в корзину только тогда, когда в корзине уже есть товаров на 3 тысячи 

Способ предложенный Dimen должен сработать. Ищу куда вставить строки и тестирую! 

Надіслати
Поділитися на інших сайтах


Я всё верно понял, просто добавьте проверку цены в корзине в минимальное количество и не надо писать кучу строк кода. и используйте ocmod.
UPD да я не понял)

Надіслати
Поділитися на інших сайтах

Если удалить товар из корзины (набранного на 3000) находясь на странице товара, который не продается без таких требований, то его можно будет положить в корзину... и купить... да и в корзине просто удалить дорогой товар .. и тоже можно оформить заказ...

Могут по случаю ошибаться покупатели...

Змінено користувачем vortexnew
Надіслати
Поділитися на інших сайтах


Вы правы. Такая "манипуляция правилами" или ошибка возможна и даже неизбежна. Но таких мы уже вручную отсортируем. Кто, чего и на какую сумму заказал. Предоплаты все-равно на сайте нет.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.