Опция товара minishop2 с дополнительным полем
        Добрый день.
Стоит, на первый взгляд, простая задача, но не знаю с какой стороны подступится.
Требуется сделать опцию «Вышивка» к товару, т.е. что бы кликнув на чекбокс можно было добавить такую опцию к товару и увеличить стоимость товара на установленную сумму (например 100 р.). Но! Надо, что бы вместе с такой опцией можно было бы в текстовое поле добавить сам текст вышивки и что бы он вместе с опцией ушел в заказ. Пересмотрел несколько дополнений (msOptionsPrice2, msFieldsManager, msAddLinked) и не могу понять — могу я с их помощью реализовать задуманное или нет?
Или надо писать что-то свое?
Буду благодарен за любую идею или подсказку. Спасибо.
    
    
                                                                                
            Стоит, на первый взгляд, простая задача, но не знаю с какой стороны подступится.
Требуется сделать опцию «Вышивка» к товару, т.е. что бы кликнув на чекбокс можно было добавить такую опцию к товару и увеличить стоимость товара на установленную сумму (например 100 р.). Но! Надо, что бы вместе с такой опцией можно было бы в текстовое поле добавить сам текст вышивки и что бы он вместе с опцией ушел в заказ. Пересмотрел несколько дополнений (msOptionsPrice2, msFieldsManager, msAddLinked) и не могу понять — могу я с их помощью реализовать задуманное или нет?
Или надо писать что-то свое?
Буду благодарен за любую идею или подсказку. Спасибо.
Комментарии: 7
                1. Делаете поле у товара
2. выводите его на странице как опцию значит
3. пишете небольшой свой js, дабы при установке галочки показывалось поле Текст вышивки, у которого пропишите ручками name и иные атрибуты, что бы оно выглядело как опция товара, тогда эта информация попадет в заказ
4. наценку +100 рублей делайте через любое дополнение, которое это может
                    2. выводите его на странице как опцию значит
3. пишете небольшой свой js, дабы при установке галочки показывалось поле Текст вышивки, у которого пропишите ручками name и иные атрибуты, что бы оно выглядело как опция товара, тогда эта информация попадет в заказ
4. наценку +100 рублей делайте через любое дополнение, которое это может
                Алексей, спасибо за ответ.
Пп. 1-3, естественно, уже сделал. У меня вопрос — как связать их с тем же msOptionsPrice2...?
                    Пп. 1-3, естественно, уже сделал. У меня вопрос — как связать их с тем же msOptionsPrice2...?
                а что представляет из себя текст вышивки? Если типа файла то можно прикрепить его к модификации вместо изображения.            
                    
                По идее — обычный текст. Логика такая: человек жмет галку «добавить вышивку» открывается текстовое поле и он туда вписывает, например, свои инициалы: «И.В. Пупкин» или любой другой текст, который он хочет вышить на рубашке/футболке.            
                    
                примерно так можно
s6200.h3.modhost.pro/katalog/11999.html
joxi.ru/E2pMqLGS9YgaRA
                    s6200.h3.modhost.pro/katalog/11999.html
joxi.ru/E2pMqLGS9YgaRA
{foreach $options as $name => $values}
    <div class="form-group">
        <label class="col-md-2 control-label" for="option_{$name}">{('ms2_product_' ~ $name) | lexicon}:</label>
        <div class="col-md-10">
            <select name="options[{$name}]" class="input-sm form-control" id="option_{$name}">
                {foreach $values as $value}
                    <option value="{$value}">{$value}</option>
                {/foreach}
            </select>
        </div>
    </div>    
        
        
    <div class="form-group form-inline embroidery_parent" style="display:none;">    
        <label class="col-md-2 control-label" for="option_{$name}"></label>
        <div class="col-md-10">
			<input type="text" name="options[embroidery_text]" placeholder="Текст вышивки" class="input-sm form-control" value="">
		</div>
    </div>
    
{/foreach}
<script>
$(document).on('change', '.ms2_form', function (e) {   
    
    var embroidery = $(this).find('select[name="options[embroidery]"]');
    var embroidery_text = $(this).find('input[name="options[embroidery_text]"]');
    if (embroidery.val() == 'да') {
        embroidery_text.closest('.embroidery_parent').show();
    }
    else {
        embroidery_text.closest('.embroidery_parent').hide();
        embroidery_text.val('');
    }
});
</script>            
                Владимир! Спасибо большое за помощь, очень помогли )))            
                    
                пожалуйста!            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.