Перейти к содержанию
Форум поддержки пользователей VamShop

как добавить в движок ещё один вариант атрибута, котор


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

Добрый день. Подскажите, как добавить ещё один вариант атрибута ,который работает как радио? Для чего это нужно - есть товар , у которого есть два атрибута - размер и цвет. Оба работают по принципу "радио". Оба влияют на ценообразование товара. Пример как выглядет карточка товара с такой реализацией - http://www.vmebelshop.com.ua/product_info.php/info/p3599_Probnyi-tovar.html  . Внешний вид  - это только демо для наглядности. Оформление этих атрибутов заложено в файле multi_options.html. Мне необходимо продублировать код "радио", чтобы в админке был выбор (как пример) -  Тип атрибута  - Radio  и Radio 1 и  чтобы ему можно было дать своё оформление в файле multi_options.html. Если говорить о моём примере  карточки товара , то таким образом я хочу получить  вывод радиоатрибутов размера (тип атрибута в админке Radio)  - по вертикали, а цвет (тип атрибута в админке Radio 1) - по горизонтали. Для наглядности что хочу получить в конечном итоге - http://www.vmebelshop.com.ua/product_info.php/info/p3589_Ofisnyi-stol--pryamoi--model--M-1.html. Размеры привязаны на радио атрибут, а цвета на дроп-даун. Вот вместо дроп-даун я хочу использовать  ещё один радио.

Теперь вопрос- как и где изменить код? Если нельзя добавить ещё один атрибут (т.е. их общее количество станет 7, по функционалу магазина их 6), то можно ли убрать один из уже существующих атрибутов (например только для чтения) и на его место коставить код радио? (пускай он будет называться только для чтения, главное чтобы работал как радио)

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

Но ведь за вывод двух радио атрибутов  отвечает один и тот же код.  позиционирование по размеру сделано вертикальным, и это позиционирование прописано через шаблон  multi_options.html. Позиционирование по цвету должно быть горизонтальным. А в шаблоне код отвечающий за радиоатрибут  выводится вертикально. Прошу не судить строго чайника, но как сделать на основе одно и того же кода вертикаль и горизонталь????

я использую вот такой код  -

<!-- radio -->
<p style="text-align: left"> <strong><span style="color: #ff9900;">{$options_data.NAME}:</span></strong></p>
<p style="text-align: left">Ширина*Глубина*Высота</p>
{foreach key=key_data item=item_data from=$options_data.DATA}
<table>
<tbody>
<tr>
    <td width="10" align="center"><input type="radio" name="id[{$options_data.ID}]" value="{$item_data.ID}" {cycle values='checked="checked",,,,,,,,,,,,,,,'} />
    </td>
    <td width="100" align="right">{$item_data.TEXT}</td>
    <td width="10" align="center">&nbsp;&nbsp;=&nbsp;&nbsp;</td>
    <td width="110" align="right"><strong>{if $item_data.PRICE_PLAIN > 0}{$item_data.FULL_PRICE}{/if}</strong>
    </td>
    <td> {if $item_data.IMAGE}<img src="{$image_dir}thumbs/{$item_data.IMAGE}" border="0" alt="{$item_data.TEXT}" />{/if}</td>
</tr>
{/foreach}
</tbody>
</table>

<!-- /radio -->[/code]

на его основе все радиоатрибуты будут отображаться только по вертикали.

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

Различать можно по условию {if $item_data.IMAGE}

Код показываете ...

Если хотите, чтобы я за вас это решил, тогда показывайте все данные:

1. Макет в html как должен выглядеть вертикальный список (без картинок)

2. Макет в html как должен выглядеть горизонтальный список (с картинками)

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

Смысл внешнего вида - таков:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
  <title></title>
</head>

<body>

Расположение атрибутов по вертикали (без картинок)
<table width="100" height="50" border="2" bordercolor="#FF9966" bgcolor="#FFCC33">
  <tr>
    <td>радиобутон</td>
    <td> Значение атрибута {$item_data.TEXT}</td>
    <td> знак  </td>
    <td> цена за атрибут {$item_data.FULL_PRICE} </td>
  </tr>
  <tr>
    <td>&copy;</td>
    <td>850*600*750 </td>
    <td>=</td>
    <td>223 грн</td>
  </tr>
  <tr>
    <td>&copy;</td>
    <td>1200*600*750</td>
    <td>=</td>
    <td>285,00 грн</td>
  </tr>
</table>
<br /><br /><br /><br />
Расположение атрибутов по горизонтали  (с  картинками)
<table border="2" bordercolor="#FF6600" bgcolor="#FFCC33">
  <tr>
    <td>картинка <img src="{$image_dir}thumbs/{$item_data.IMAGE}" border="0" alt="{$item_data.TEXT}" /></td>
    <td>картинка</td>
    <td>картинка</td>
    <td>картинка</td>
    <td>картинка</td>
    <td>картинка</td>
    <td>картинка</td>
    <td>картинка</td>
  </tr>
  <tr>
    <td>серый{$item_data.TEXT}</td>
    <td>белый {$item_data.TEXT}</td>
    <td>черный {$item_data.TEXT}</td>
    <td>красный{$item_data.TEXT}</td>
    <td>{$item_data.TEXT}</td>
    <td>{$item_data.TEXT}</td>
    <td>{$item_data.TEXT}</td>
    <td>{$item_data.TEXT}</td>
  </tr>
  <tr>
    <td>радиобутон</td>
    <td>радиобутон</td>
    <td>радиобутон</td>
    <td>радиобутон</td>
    <td>радиобутон</td>
    <td>радиобутон</td>
    <td>радиобутон</td>
    <td>радиобутон</td>
  </tr>
</table>

</body>

</html>

[/code]

В таблице цвета задал только для внешнего вида и понимания структуры.

Если с вертикальным расположением я понял как провести "создание строк таблицы", то как это связать с горизонталью, а тем более с картинками ....... :(

вот сам макет в html

Document2.htm

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

Код в соответствии с ашим html-шаблоном. Результат - на рисунке внизу.

Замените код от <!-- radio --> до <!-- /radio -->

<!-- radio -->

{if $options_data.DATA[0].IMAGE}<!-- картинки ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

<p>

<table border="2" bordercolor="#FF6600" bgcolor="#FFCC33">

<caption align="left"><strong>{$options_data.NAME}:</strong></caption>

<tr>

{foreach key=key_data item=item_data from=$options_data.DATA}

<td>{if $item_data.IMAGE}<img src="{$image_dir}thumbs/{$item_data.IMAGE}" border="0" alt="{$item_data.TEXT}" />{/if}</td>

{/foreach}

</tr>

<tr>

{foreach key=key_data item=item_data from=$options_data.DATA}

<td>{$item_data.TEXT} {if $item_data.PRICE_PLAIN != 0}({$item_data.PREFIX}{$item_data.PRICE}){/if}</td>

{/foreach}

</tr>

<tr>

{foreach key=key_data item=item_data from=$options_data.DATA}

<td><input type="radio" name="id[{$options_data.ID}]" value="{$item_data.ID}" {cycle values='checked="checked",,,,,,,,,,,,,,,'} /></td>

{/foreach}

</tr>

</table>

</p>

{else}<!-- без картинок ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

<table border="2" bordercolor="#FF6600" bgcolor="#FFCC33">

<caption align="left"><strong>{$options_data.NAME}:</strong></caption>

{foreach key=key_data item=item_data from=$options_data.DATA}

<tr>

<td><input type="radio" name="id[{$options_data.ID}]" value="{$item_data.ID}" {cycle values='checked="checked",,,,,,,,,,,,,,,'} />    </td>   

<td>{$item_data.TEXT}</td>   

<td>&nbsp;&nbsp;=&nbsp;&nbsp;</td>   

<td><strong>{if $item_data.PRICE_PLAIN > 0}{$item_data.FULL_PRICE}{/if}</strong>    </td>   

</tr>

{/foreach}

</table>

{/if}<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

<!-- /radio -->

post-31-1304838337,2594_thumb.gif

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

АААААААААААААААААА!!!!! СУПЕР !!!!!!!!!! шас буду пробовать......

СПАСИБИЩЕ ОГРОМАДНОЕ !!!!!!!!!

Наверняка стоит добавить ваше решение в совете ( в FAQ). Насколько я следил за форумом, то моя проблема довольно распространённая, очень многим нужен именно такой вариант. Вы показали  принцип решения и готовый код - ещё раз спасибо  :) *оратор сходит со сцены. в зале бурные апплодисменты решатору проблемы*

    Проверил - работает как песня!!! Для тех кому тоже пригодится такое решение  - нужно будет подобрать размер картинок (превьюшек цвета) тогда будет всё вмещаться на карточке товара.

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

Встроил код в свой сайт - www.vmebelshop.com.ua. Теперь всё работает как часики. Всем кому нужно выводить два атрибута - один с размерами,  другой с цветом - вспоминают добрым словом Bububu и юзают его код. Только внимание - код правлен для данного конкретного случая: есть два атрибута, оба тип радио, называются по разному . Для атрибута без картинки привязывается цена за размер(объём и т.п., кому что нужно) и она учитывается при выборе, для атрибута с картинкой - выводится картинка и при выборе конкретного цвета, этот цвет попадает в описание товара в корзине и в стоимости товара учитывается цена за цвет. Итого - плюсуются два трибута.

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...