Parshivec 0 Опубликовано 5 мая, 2010 Жалоба Share Опубликовано 5 мая, 2010 Добрый день. Подскажите, как добавить ещё один вариант атрибута ,который работает как радио? Для чего это нужно - есть товар , у которого есть два атрибута - размер и цвет. Оба работают по принципу "радио". Оба влияют на ценообразование товара. Пример как выглядет карточка товара с такой реализацией - 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), то можно ли убрать один из уже существующих атрибутов (например только для чтения) и на его место коставить код радио? (пускай он будет называться только для чтения, главное чтобы работал как радио) Ссылка на сообщение Поделиться на другие сайты
Bububu 0 Опубликовано 5 мая, 2010 Жалоба Share Опубликовано 5 мая, 2010 Добавлять новый тип атрибута не надо. То что Вы хотите решается правкой шаблона multi_options.html Ссылка на сообщение Поделиться на другие сайты
Parshivec 0 Опубликовано 5 мая, 2010 Автор Жалоба Share Опубликовано 5 мая, 2010 Но ведь за вывод двух радио атрибутов отвечает один и тот же код. позиционирование по размеру сделано вертикальным, и это позиционирование прописано через шаблон 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"> = </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]на его основе все радиоатрибуты будут отображаться только по вертикали. Ссылка на сообщение Поделиться на другие сайты
Bububu 0 Опубликовано 5 мая, 2010 Жалоба Share Опубликовано 5 мая, 2010 Различать можно по условию {if $item_data.IMAGE} Код показываете ... Если хотите, чтобы я за вас это решил, тогда показывайте все данные: 1. Макет в html как должен выглядеть вертикальный список (без картинок) 2. Макет в html как должен выглядеть горизонтальный список (с картинками) Ссылка на сообщение Поделиться на другие сайты
Parshivec 0 Опубликовано 5 мая, 2010 Автор Жалоба Share Опубликовано 5 мая, 2010 Смысл внешнего вида - таков: <!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>©</td> <td>850*600*750 </td> <td>=</td> <td>223 грн</td> </tr> <tr> <td>©</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 Ссылка на сообщение Поделиться на другие сайты
Bububu 0 Опубликовано 5 мая, 2010 Жалоба Share Опубликовано 5 мая, 2010 Код в соответствии с ашим 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> = </td> <td><strong>{if $item_data.PRICE_PLAIN > 0}{$item_data.FULL_PRICE}{/if}</strong> </td> </tr> {/foreach} </table> {/if}<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> <!-- /radio --> Ссылка на сообщение Поделиться на другие сайты
Parshivec 0 Опубликовано 5 мая, 2010 Автор Жалоба Share Опубликовано 5 мая, 2010 АААААААААААААААААА!!!!! СУПЕР !!!!!!!!!! шас буду пробовать...... СПАСИБИЩЕ ОГРОМАДНОЕ !!!!!!!!! Наверняка стоит добавить ваше решение в совете ( в FAQ). Насколько я следил за форумом, то моя проблема довольно распространённая, очень многим нужен именно такой вариант. Вы показали принцип решения и готовый код - ещё раз спасибо :) *оратор сходит со сцены. в зале бурные апплодисменты решатору проблемы* Проверил - работает как песня!!! Для тех кому тоже пригодится такое решение - нужно будет подобрать размер картинок (превьюшек цвета) тогда будет всё вмещаться на карточке товара. Ссылка на сообщение Поделиться на другие сайты
Bububu 0 Опубликовано 5 мая, 2010 Жалоба Share Опубликовано 5 мая, 2010 Успехов! Ссылка на сообщение Поделиться на другие сайты
Parshivec 0 Опубликовано 5 мая, 2010 Автор Жалоба Share Опубликовано 5 мая, 2010 Встроил код в свой сайт - www.vmebelshop.com.ua. Теперь всё работает как часики. Всем кому нужно выводить два атрибута - один с размерами, другой с цветом - вспоминают добрым словом Bububu и юзают его код. Только внимание - код правлен для данного конкретного случая: есть два атрибута, оба тип радио, называются по разному . Для атрибута без картинки привязывается цена за размер(объём и т.п., кому что нужно) и она учитывается при выборе, для атрибута с картинкой - выводится картинка и при выборе конкретного цвета, этот цвет попадает в описание товара в корзине и в стоимости товара учитывается цена за цвет. Итого - плюсуются два трибута. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения