Опции если нет в наличии

Тема в разделе "Общие вопросы", создана пользователем amd, 18 июн 2021.

  1. amd

    amd Новичок

    Сообщения:
    12
    Симпатии:
    0
    Всем привет!
    Сейчас в опциях список (он же select), если количество этой опции равно 0 то эта опция из списка в карточке товара исчезает.
    Подскажите в каком месте нужно подправить чтобы эта опция не исчезала и оставалась в списке с атрибутом disabled.
     
  2. fanatic

    fanatic Продвинутый пользователь

    Сообщения:
    1.415
    Симпатии:
    239
    контроллер
    PHP:
                    foreach ($option['product_option_value'] as $option_value) {
                        if (
    $option_value['subtract']) {
                            if (((
    $this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float) $option_value['price']) {
                                
    $price $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' false), $this->session->data['currency']);
                            } else {
                                
    $price false;
                            }

                            
    $product_option_value_data[] = array(
                              
    'product_option_value_id' => $option_value['product_option_value_id'],
                              
    'option_value_id' => $option_value['option_value_id'],
                              
    'name' => $option_value['name'],
                              
    'image' => $this->model_tool_image->resize($option_value['image'], 5050),
                              
    'price' => $price,
                              
    'price_prefix' => $option_value['price_prefix'],
                              
    'quantity' => $option_value['quantity']
                            );
                        }
                    }
    шаблон
    HTML:
                    {% for option_value in option.product_option_value %}
                    <option  {% if option_value.quantity == 0 %} disabled="disabled"{% endif %}  value="{{ option_value.product_option_value_id }}">{{ option_value.name }}
                    {% if option_value.price %}
                    ({{ option_value.price_prefix }}{{ option_value.price }})
                    {% endif %} </option>
                    {% endfor %}
     
    amd нравится это.
  3. amd

    amd Новичок

    Сообщения:
    12
    Симпатии:
    0

    Так и делаю, но не работает. Опция так же исчезает если её количество выставить в 0.

    Я даже пробовал оставить if (!$option_value['subtract']) || ($option_value['quantity'] = 0) {

    не выходит
     

    Вложения:

    • prph.jpg
      prph.jpg
      Размер файла:
      288,1 КБ
      Просмотров:
      10
    • pr.jpg
      pr.jpg
      Размер файла:
      262,4 КБ
      Просмотров:
      6
  4. fanatic

    fanatic Продвинутый пользователь

    Сообщения:
    1.415
    Симпатии:
    239
    1. код, нужно выкладывать текстом , а не скринами
    2. if ($option_value['subtract']) { - у вас так? нет. найдите отличия
    а вообще, наверно условие(if) нужно вообще убрать
     
    amd нравится это.
  5. amd

    amd Новичок

    Сообщения:
    12
    Симпатии:
    0
    Точно, блин)) В жизни наверное не увидел бы различие))) Спасибо тебе добрый человек!

    PS Условие не убирал.
     
  6. fanatic

    fanatic Продвинутый пользователь

    Сообщения:
    1.415
    Симпатии:
    239
    тогда, будет работать только если - Вычитать со склада, стоит Да
     
    amd нравится это.
  7. amd

    amd Новичок

    Сообщения:
    12
    Симпатии:
    0
    Понял, спасибо