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

Выбор цвета в продукте


Recommended Posts

Здраствуйте ! Подскажите как сделать выбор , чтоб у товара перед тем как отправить в корзину можно было выбрать цвет в виде небольших кубиков допустим типа радиокнопок только разных цветов, отдельным блоком вставить в product.tpl и чтоб выбор был один, тоесть если нажал то все. Важно чтоб этот выбор учитывался в корзине. Я уже все передумал, перепробывал. Может вы знаете ?

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


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

например как здесь : http://www.stickbutik.ru/product/drakonij-medalon/

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


я понял о чем вы. сам перед такой задачей стою. сделать выбор цвета не сложно.

сложность в том как показывать сложные картинки в любом цвете

а. заранее создать самому n копий каждой картинки в разном цвете

б. придумать как менять цвет картинки автоматически.

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

мне не важно чтоб картинка менялась или нет :) я знаю что это нагрузка . мне важно то чтоб человек мог щелкнуть по цвету, и этот выбор обрабатывался и приходил мне на мейл при заказе, чтоб я знал какой цвет этот человек выбрал !

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


этот модуль под любую тему можно ставить ? а то как то болезнено ставить модули на рабочем сайте

и еще вопрос как работать с файлом option_images.sql

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


а расскажите поподробней так как не знаю как это сделать, не работал с БД не разу, куда заходить и т.д

делал так phpAdmin-импорт-выбор файла(вибирал архив модуля)-кодировка файла utf8- формат импортируемого файла SQL

написано успешно (запросов выполнено 0 )

пробовал импортировать в phpAdmin выдает ошибку может делаю что то не то ?

Ошибка

SQL-запрос:

ALTER TABLE `product_option_value` ADD `image` VARCHAR( 255 ) NOT NULL DEFAULT '';

Ответ MySQL:

#1146 - Table 'u795153222_123.product_option_value' doesn't exist

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


  • 8 months later...
  • 3 years later...

Решение есть, тем кому хочется выбирать цвета а не селект , для начала нужно прописать транслит, и прикрепить эту функцию к common папке в файле header.tpl , я это делал через require в самом верху, над <!doctype>, я и не знал что код можно подвергать разного рода изменениям, не загружая никакого модуля, оказывается функции прописать можно любые, не только транслит с цветами, так как в цикле, вместо #f00 , #fff, #00f, #ff8c00 будут вылезать фразы по типу Красный, Белый, Жёлтый, Оранжевый, их надо применить через функцию меняющую название цвета на html код цвета, это думаю легко сделать ))

 

Я назвал функцию

 

color();

 

Само волшебство с background мы можем совершить в файле product.tpl 

Прописав вместо селекта:

 

            <?php if ($option['type'] == 'select') { ?>
            <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>">
              <label class="control-label" for="input-option<?php echo $option['product_option_id']; ?>"><?php echo $option['name']; ?></label>
              <select name="option[<?php echo $option['product_option_id']; ?>]" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control">
                <option value=""><?php echo $text_select; ?></option>
                <?php foreach ($option['product_option_value'] as $option_value) { ?>
                <option value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
                <?php if ($option_value['price']) { ?>
                (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
                <?php } ?>
                </option>
                <?php } ?>
              </select>
            </div>
            <?php } ?>
 
 
Вот такой простой код:
 
            <?php if ($option['type'] == 'select') { ?>
            <div id="color" class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>">
 
              <label class="control-label" for="input-option<?php echo $option['product_option_id']; ?>"><?php echo $option['name']; ?></label>
 
<ul style=";">
    <?php foreach ($option['product_option_value'] as $option_value) { ?>
<li>
   <label>
<input type="radio" checked="checked" name="option[<?php echo $option['product_option_id']; ?>]" id="input-option<?=$option['product_option_id']; ?>" value="<?=$option_value['product_option_value_id']; ?>" /> 
<div class="style_color_add" style="background:<?php echo color(  $option_value['name'] );?>;"></div>
</label>
</li>
 
<?php if ($option_value['price']) { ?>
(<?=$option_value['price_prefix']; ?><?=$option_value['price']; ?>)
<?php } ?>
 
 
    <?php } ?>
</ul>              
 
            </div>
            <?php } ?>

 

Хочу предупредить, что код я прописывал в теме Default  на ocStore версия 2.1.0.1.1, так что это полезно тем, кто не хочет запихивать тему, нагружая тем самым движок всяким разным редкостным хламом.

 

Чем закачивать чью-то тему, по мне так переделать тему по умолчанию, кто-то может начнёт учить меня жизни, тогда почему он оказался здесь, значит не справился и искал ответ. Я написал своё решение, то же самое можно проделать со склонением слова  "товары" в корзине, и ничего страшного если код навернётся, пару разков нахватаетесь ошибок, и будете знать как писать правильно. :-)

 

Учите php :wink:  и синтаксис, по началу покажется тяжко, потом будете своё решение разрабатывать  B)

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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