Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Изменить тип отображения "Выбор размера"


Рекомендованные сообщения

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

 

Настал в моей карьере момент X когда мне понадобилось реализовать такую штуковину, которая бы позволяла выбирать размер товара не в выпадающем списке, а непосредственно тыкнув на сам размер. На скринах всё довольно ясно обрисовано. Они в спойлерах ниже.

Прошу не крыть меня детородными органами. Гугл юзаю непринуждённо и достаточно умело (на любительском уровне), технологией поиска по данному форуму овладел успешно. И только после несколько-часовых скитаний по просторам РуНет'а обратился за помощью к Вам, дорогие Друзья!)

 

Вот дефолтный вариант выбора размера, сей вариант является для меня НЕ крутым

aDO-ywE7KZo.jpg

 

Вот это тот самый заветный, архи-крутейший, проапгрейденный вариант, которого я хочу достигнуть

l_PqMcDZ0mk.jpg

Ссылка на комментарий
Поделиться на других сайтах


делай опции не select, а radio.

и верстай, как хочется.

    <?php if ($option['type'] == 'select') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <select name="option[<?php echo $option['product_option_id']; ?>]">
            <option value=""><?php echo $text_select; ?></option>
            <?php foreach ($option['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>
        <br />
        <?php } ?>

Вот такие вот пироги "надыбал" в документе product.tpl

Я предполагаю, что именно эта часть имеет отношение к тому, каким образом выводится выбор размера. Честно говоря, даже не знаю, правильно ли я разграничил всё. Когда я поменял "select" в этой части на "radio", перестал отображаться выбор размера. Вот... Ну сейчас сижу копаюсь в этих кодах, не знаю к чему это приведёт. Надеюсь, что тотальный успех не за горами. Если кому есть что сказать и помочь, буду счастлив. Ведь я так беспомощен в этих кодах...

А что касается Тома, то я написал ему, конечно. Но нет никакой уверенности в том, что он поможет. Я полагаю, что этому человеку есть чем заняться и "без сопливых". А вообще, было бы очень неплохо, если бы по данной теме появился туториал какой-либо. Уверен, что я не единственный бот, кто хочет сделать это, но нет инструкции. По крайней мере найти её не удаётся.

Ссылка на комментарий
Поделиться на других сайтах


Ну что, ребята. Путём нечеловечьих усилий мне удалось достичь следующего результата.

gdjGWuGsJp4.jpg



И вот какой код получился в итоге. Это всё тот же, что и вверху, но уже изменённый. И, что примечательно, когда меняю 'select' в самой верхней строчке на radio, всё слетает и ничего не отображается в выборе размера.

       <?php if ($option['type'] == 'select') { ?>
<div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <?php foreach ($option['option_value'] as $option_value) { ?>
          <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']; ?>" />
          <label for="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 } ?>
          </label>
          <br />
          <?php } ?>
        </div>
        <br />
        <?php } ?>



Ну да ладно. Теперь следующий пункт программы: изменить внешний вид. И сейчас я вынужден отлучится от компьютера, но приду и начну это доделывать. А пока буду рад, если в код кто-нибудь внесёт поправки или подскажет, как действовать дальше. Хочу чтобы на сайте у меня было всё ровно и красиво. И код был красивый и чёткий. Перфектный короче такой.

Ссылка на комментарий
Поделиться на других сайтах


За реализацию 5, за внимательность - 2!  :-D

 

Нужно было в карточке товаров тип опций изменить с select на radio - дальше в коде идет обработка именно radio.

Впрочем, если товаров уже туева хуча много забито - подойдет как вариант для ленивых.

 

Вообще - старайтесь не менять код движка/шаблона без необходимости - избавит от головных болей в дальнейшем.

 

Возможно в вашем случае достаточно просто создать тип опций "изображение" (Каталог-Опции-Добавить-Тип опции: изображение)

и потом назначать товарам этот тип. А в качестве изображений опций наделать картинок с размерами.

Изменено пользователем AlexDW
Ссылка на комментарий
Поделиться на других сайтах

неважно, сколько товаров. в товарах задаются значения опциям, а менять надо ТИП - в настройках самих опций.

OlegVladislavovich, верни, как было. "- дальше в коде идет обработка именно radio" - там и разукрашивай.

Ссылка на комментарий
Поделиться на других сайтах

Достиг следующего. На скрине обозначил проблемную зону, помогите разобраться пожалуйста с этим.

 

cKcuEZWR4xA.jpg

 

CSS код проблемного места:

.label_size {
    margin: right;
    vertical-align: top;
    display: inline-block;
    height: 45px;
    width: 45px;
    cursor: pointer;
    background: #FFF;
    font-size: 13px;
    padding: 5px 10px; /* Поля вокруг текста */
    color: #232727;
    text-align: center;
    border: solid 1px #939392;
    margin-bottom: 3px;
    text-transform: uppercase;
}

P.S. Реализовал через задницу, реализовал как умею. То, что посоветовал afwollis, увидел уже после того, как доделал. Вот... Хочу написать такой своего рода уникальный туториал, который поможет людям реализовать такое же дерьмо, но, честно говоря, не знаю... У меня всё так дебильно написано... Нужно дорабатывать совместно с кем-то и выкладывать. Потому что подобное реализовать не так сложно, но вопрос актуальный не для одного меня, я полагаю.

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.