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

Вывод корзины только для товаров в наличии


Recommended Posts

Необходимо сделать так, что бы в корзину можно было добавить только товар в наличии, а в остальных вместо нее выводилась надпись "Нет в наличии".

Есть тема simplecart-black-fluid параметр $stock, который выводит надпись "В наличии" или "Нет в наличии", но при этом корзина выводится в обоих случаях. А как сделать что бы она выводилась, только для тех товаров, которые есть в наличии?

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


Я пытался сделать это через проверку количества товара, но что-то не получается.

Я создал в catalog\model\catalog\product.php запрос кол-ва товара на складе

public function getCount($product_id){
		$count = $this->db->query("SELECT `oc_product`.`quantity`FROM '" . DB_PREFIX . "product' WHERE product_id = " . (int)$product_id)
		return $count->row;
	}
Только он выдает ошибку в строке return $count->row;

В файле catalog\controller\product\product.php проверяю условие

if(getCount($product_id)=0)
				$this->data['status']=FALSE
			else
				$this->data['status']=TRUE

Только я не знаю как это лучше использовать в шаблоне catalog\view\theme\simplecart-black-fluid\template\product\product.php

Подскажите в чем проблема... Опыта работы с php маловато..

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


Точки с запятой, пробелы расставь.

И как ты вызываеш метод getCount()?

Выложи оба файла - исправлю синтаксис...

catalog\controller\product (измененный код строка 111)

product.php

catalog\model\catalog (измененный код строка 9 функция закоментирована - отлаживал другой кусок)

product.php

Огромное спасибо!!!

А можешь подсказать как лучше в шаблоне это вставить. Не получается эту конструкцию в if-else упаковать корректно:

<?php echo $text_qty; ?>
      <input type="text" name="quantity" size="3" value="<?php echo $minimum; ?>" />
      <a onclick="$('#product').submit();" id="add_to_cart" class="button"><span><?php echo $button_add_to_cart; ?></span></a>
      <?php if ($minimum > 1) { ?><br/><small><?php echo $text_minimum; ?></small><?php } ?>
Надіслати
Поділитися на інших сайтах


А можешь подсказать как лучше в шаблоне это вставить. Не получается эту конструкцию в if-else упаковать корректно:

Ну вот... дай палец и руку отхватят.

Я говорил что поправлю синтаксис... потому что сам алгоритм решения задачи - кошмар.

В catalog\controller\product\product.php уже всё есть. Вот строка которая получает информацию о товаре:

$product_info = $this->model_catalog_product->getProduct($product_id);
среди прочего там есть и количество, на основании этого количества и формируется $stock

Бери $product_info['quantity'] и обрабатывай как тебе надо.

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

Ну вот... дай палец и руку отхватят.

Ну уж прям сразу руку)))

Я вам дико благодарен...

А с условием я уже разобрался... Правда после С\С++\С# подобные конструкции воспринимаются не совсем адекватно))

<?php 
				if((int)$product_info['quantity']==0)
				echo $stock;
				else
				{
				echo $text_qty; ?>
                <input type="text" name="quantity" size="3" value="<?php echo $minimum; ?>" />
                <a onclick="$('#product').submit();" id="add_to_cart" class="button"><span><?php echo $button_add_to_cart; ?></span></a>
                <?php if ($minimum > 1) { ?><br/><small><?php echo $text_minimum; ?></small><?php } ?>
              </div>
              <div>
                <input type="hidden" name="product_id" value="<?php echo $product_id; ?>" />
                <input type="hidden" name="redirect" value="<?php echo str_replace('&', '&', $redirect); ?>" />                
              </div>
            </form>
            <?php } ?>
         <?php } ?>
Надіслати
Поділитися на інших сайтах


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

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

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

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

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

Вхід

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

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

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

Important Information

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