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

Отключить Опцию если остаток 0 (Нет в наличии)


sashaustenko

Recommended Posts

Здравствуйте Форумчане!

Помогите пожалуйста.

Мне нужно чтобы Опции товара отключались (не возможно было выбрать опцию) и она была видна, но с затемнением, при условии когда товара "нет в наличии" (остаток "0").

Как реализовать это?.. 

Буду признателен Вам за помощь.

 

Версия Opencart 1.5.6.1

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


Вывести количество на страницу товара, и, если товара <=0, выводить атрибут disabled для всех форм опций.

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

53 минуты назад, mazein сказал:

Вывести количество на страницу товара, и, если товара <=0, выводить атрибут disabled для всех форм опций.

Хорошо, а подскажите саму реализацию этого, я понял суть, но где исправить??.. 

В контроллере product.php редактировать??.. мне бы пример кода:)

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


В контроллере product

$this->data['quantity'] = $product_info['quantity'];

Во вьюхе

<?php echo $quantity; ?>

 

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

По моему товарищ ведёт речь совершенно о ином.Ему не нужно количество.В опенкарте если количество в опции ноль,то она скрывается совсем.А он хочет что бы они отображались,но выглядели не активными.

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

5 часов назад, mazein сказал:

Я понял, что надо как-то так.

Да-да-да... именно, при "количестве = 0" в опции, она была не доступной, но была видна в полу прозрачном виде... ну и вообще идеально чтобы когда выставляю "вычитывать со склада" только тогда скрывалась опция (имею ввиду - была полупрозрачной)...:))

Можете подсказать решение??? 

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


В контроллере product.php из строки

if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) {

убираем проверку количества, получится так:

if (!$option_value['subtract']) {

ниже, под строкой

'option_value_id'         => $option_value['option_value_id'],

добавить

'quantity'         => $option_value['quantity'],

Теперь в выводе product.tpl, в строках

<input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" />
<input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>][]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" />

после input вставим условие для вывода disabled, получится так:

<input <?php if ($option_value['quantity'] < 1) { ?> disabled <?php } ?> type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" />

в других аналогично (всего 3 штуки, пихать в опцию типа file, или textarea не надо), на выходе получаем это.

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

18 часов назад, Tom сказал:

А я понял,что нужно как то так

http://easycaptures.com/fs/uploaded/941/7084270588.jpg

Вот так вообще супер:)).. как это реализовать??:))

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


5 часов назад, mazein сказал:

В контроллере product.php из строки


if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) {

убираем проверку количества, получится так:


if (!$option_value['subtract']) {

ниже, под строкой


'option_value_id'         => $option_value['option_value_id'],

добавить


'quantity'         => $option_value['quantity'],

Теперь в выводе product.tpl, в строках


<input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" />

<input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>][]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" />

после input вставим условие для вывода disabled, получится так:


<input <?php if ($option_value['quantity'] < 1) { ?> disabled <?php } ?> type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" />

в других аналогично (всего 3 штуки, пихать в опцию типа file, или textarea не надо), на выходе получаем это.

Сейчас будем пробовать, пока что спасибо за помощь... отпишусь что получалось.

/**** ИТОГ ПОСЛЕ ИСПОЛЬЗОВАНИЯ ЭТОГО РЕШЕНИЯ ****/

Ставлю количество = 0 и указываю <<Вычитывать со склада - "ДА">>, эта Опция попросту скрывается (исчезает), мне бы её вернуть, чтобы она была видна в "полупрозрачном виде", это важно когда человек хочет именно такой "Вид опции" например "размер чего-то там", и видел что размер есть, но он сейчас не доступен... Как это сделать.

/**** ЕЩЁ УТОЧНЕНИЕ *///

Когда оставляю "Вычитывать со склада - ДА", и ставлю количество например 10, опция все равно остаётся скрытая, это решение не подходит, оно не совсем верное.

/////////////////////////////////////////////////////

Вот решение предоставил господин: Tom

Его решение лучше всего подходит, и видно что перечеркнута опция:))

А я понял,что нужно как то так

http://easycaptures.com/fs/uploaded/941/7084270588.jpg

Помогите:)

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


18 часов назад, Tom сказал:

А я понял,что нужно как то так

http://easycaptures.com/fs/uploaded/941/7084270588.jpg

Как такое реализовать?)))))) .... Вы поможете я думаю многим:)

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


Я сделал практически так же.Вёрстка та что на картинке сделана  просто в браузере.Сделать из всего этого модификатор можно,но лень.Да и стимула нет работать на чужой карман(магазин).

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

32 минуты назад, Tom сказал:

Я сделал практически так же.Вёрстка та что на картинке сделана  просто в браузере.Сделать из всего этого модификатор можно,но лень.Да и стимула нет работать на чужой карман(магазин).

А могли бы вы более детально расписать, какой код заменить на какой, по порядку и где что добавить???
Пожалуйста, помогите.

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


  • 4 years later...
В 11.02.2017 в 16:31, mazein сказал:

В контроллере product.php из строки


if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) {

убираем проверку количества, получится так:


if (!$option_value['subtract']) {

ниже, под строкой


'option_value_id'         => $option_value['option_value_id'],

добавить


'quantity'         => $option_value['quantity'],

Теперь в выводе product.tpl, в строках


<input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" />

<input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>][]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" />

после input вставим условие для вывода disabled, получится так:


<input <?php if ($option_value['quantity'] < 1) { ?> disabled <?php } ?> type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" />

в других аналогично (всего 3 штуки, пихать в опцию типа file, или textarea не надо), на выходе получаем это.

 

Привет.

Спасибо) все работает!

Пожалуйста подскажи как на кнопку не активную стиль тут дописать , например затемнить фон , спасибо

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


  • 2 years later...

Добрый день.

Актуально для тройки. Подскажите пожалуйста, решение для Ocstore 3.0.x.

Благодарю.
 

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


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

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

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

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

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

Вхід

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

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

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

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

Important Information

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