Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

[Найдено] Нужно чтобы опция "Размер" отображалась кнопками


Recommended Posts

Приветствую!

 

Не подскажите есть ли готовые модули для реализации следующего функционала:

 

Нужно внести изменения в страницу товара:

 

Сейчас выбор опции "Размер" одежды осуществляется с помощью select. А нужно сделать, чтобы все значения опции "Размер" отображались кнопками, даже если количество 0, на которые можно кликнуть для выбора необходимого размера. При отсутствии размера у данного товара (то есть если количество товара для данной опции=0) кнопки зачеркивались бы красной линией и на них нельзя было нажать или же была возможность предварительного заказа отсутствующего товара.

 

Примеры:



 

Link to post
Share on other sites

 хм...интересно придумано... тоже бы поставила данное решение к себе на сайт...
есть желающие помочь??? :oops:

Link to post
Share on other sites

  • 1 year later...

Нашел отличное решение. Остаток товара не показывает, но все таки. Ищем Product Block Optiion

Link to post
Share on other sites

  • 11 months later...

бесплатного или не дорого решения нет?

Edited by Marianna
Link to post
Share on other sites

в product.tpl (opencart 2) меняем 

     <input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>][]" 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="<?php echo $option_value['product_option_value_id']; ?>" />

 

<label> на  <label for="<?php echo $option_value['product_option_value_id']; ?>" >

 

в css

#product .checkbox {
    display: inline-block;
}
#product .checkbox input[type=checkbox] {
    cursor: pointer;
    opacity: 0;
}
#product .checkbox input[type=checkbox] + label {
    padding: 1px 9px;
    height: 15px;
    line-height: 15px;
    font-size: 14px;
    border: #ddd solid 1px;
    margin-top: 5px;
}
#product .checkbox input[type=checkbox]:checked + label {
    position: relative;
    border-color: #ff6908;
}
 
это можно использовать как для checkbox так и для radio
Edited by Marianna
  • +1 1
Link to post
Share on other sites

  • 1 month later...

 

в product.tpl (opencart 2) меняем 

     <input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>][]" 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="<?php echo $option_value['product_option_value_id']; ?>" />

 

<label> на  <label for="<?php echo $option_value['product_option_value_id']; ?>" >

 

в css

#product .checkbox {
    display: inline-block;
}
#product .checkbox input[type=checkbox] {
    cursor: pointer;
    opacity: 0;
}
#product .checkbox input[type=checkbox] + label {
    padding: 1px 9px;
    height: 15px;
    line-height: 15px;
    font-size: 14px;
    border: #ddd solid 1px;
    margin-top: 5px;
}
#product .checkbox input[type=checkbox]:checked + label {
    position: relative;
    border-color: #ff6908;
}
 
это можно использовать как для checkbox так и для radio

 

Для opencart 1.5 тоже подходит

Link to post
Share on other sites

  • 11 months later...

отлично, только для подхвата стилей необходимо конструкция 

<input />
<label> 
текст опции
</label>

в ОС изначально <input /> в <label> обернут

Edited by Algrizly
Link to post
Share on other sites

А могли би Вы подробнее описать, а то что-то у меня тоже стили не подхватывает?

И если не сложно, то сразу для radio описать.

Большое спасибо!

Link to post
Share on other sites

1 час назад, RoSSo сказал:

А могли би Вы подробнее описать, а то что-то у меня тоже стили не подхватывает?

И если не сложно, то сразу для radio описать.

Большое спасибо!

Сделать то, что написала Marianna, только в моем шаблоне шел сначала <label> и в него обернуть <input /> а надо наоборот. просто выведете <input /> выше за пределы <label> и все заработает

Link to post
Share on other sites

  • 4 months later...
В 16.01.2016 в 03:16, Marianna сказал:

в product.tpl (opencart 2) меняем 

     <input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>][]" 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="<?php echo $option_value['product_option_value_id']; ?>" />

 

<label> на  <label for="<?php echo $option_value['product_option_value_id']; ?>" >

 

в css

#product .checkbox {
    display: inline-block;
}
#product .checkbox input[type=checkbox] {
    cursor: pointer;
    opacity: 0;
}
#product .checkbox input[type=checkbox] + label {
    padding: 1px 9px;
    height: 15px;
    line-height: 15px;
    font-size: 14px;
    border: #ddd solid 1px;
    margin-top: 5px;
}
#product .checkbox input[type=checkbox]:checked + label {
    position: relative;
    border-color: #ff6908;
}
 
это можно использовать как для checkbox так и для radio

А что за css файл, где его искать?

Link to post
Share on other sites

В 27.02.2017 в 19:12, Algrizly сказал:

Сделать то, что написала Marianna, только в моем шаблоне шел сначала <label> и в него обернуть <input /> а надо наоборот. просто выведете <input /> выше за пределы <label> и все заработает

если так сделать, тогда почему-то опции с галочкой попадают не все сразу в корзину, а только по одной штуке можно.

Edited by Marianna
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.