Virtuemart: делаем свойства товаров с помощью radio
Собственно говоря, задача изложена в заголовке. Будем делать.
Внимание! Это решение для последней на сегодняшний день версии виртумарта – 1.1.4!
Файл, который будем править: components/com_virtuemart/themes/default/templates/product_details/includes/addtocart_advanced_attribute.tpl.php
Именно в нем осуществляется вывод свойств товара.
Можете смело удалять из него все, и вставлять следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); foreach($attributes as $attribute) { ?> <div class="vmAttribChildDetail" style="float:left;margin:3px;"> <?php foreach ( $attribute['options_list'] as $options_item ) { ?> <div> <?php if( isset( $options_item['display_price']) ) : ?> <input type="radio" style="margin-top: 15px;" id="<?php echo $attribute['titlevar'] ?/>_field" name="<?php echo $attribute['titlevar'].$attribute['product_id'] ?>" value="<?php echo $options_item['base_var'] ?>"><?php echo $options_item['base_value'] ?> (<?php echo $options_item['sign'].$options_item['display_price'] ?>)<br /> <?php else : ?> <input type="radio" style="margin-top: 15px;" id="<?php echo $attribute['titlevar'] ?/>_field" name="<?php echo $attribute['titlevar'].$attribute['product_id'] ?>" value="<?php echo $options_item['base_var'] ?>"><?php echo $options_item['base_value'] ?><br /> <?php endif; ?> </div> < ? } ?> </div> <br style="clear:both;" /> < ? } ?> |
По мелочам уже можете “подпилить” самостоятельно. Сама идея указана и она работает! Проверено!

марта 16, 2010 at 23:00
попробовал – не работает
после замены файла страница с товаром перестала открываться. пришлось вернуть старый вариант. В чем может быть проблема?
марта 17, 2010 at 12:47
В том, что в коде на странице вылезли пробелы перед закрытием php-кода. Баг исправил
апреля 6, 2010 at 9:54
Всё равно не работет, вставляю четко указанный код – и при обновлении – пустой экран(((
Версия 1.1.4.
апреля 6, 2010 at 11:26
Проверьте на открытие/закрытие php-кода. У меня редактор вставляет лишние пробелы. Без хотя бы начальных знаний php в исходный код лучше не лезть!
Пишите – помогу.
апреля 12, 2010 at 8:56
?/>_field – тут надо слеш убрать – парсер лох, очевидно
апреля 12, 2010 at 9:02
В общем, все работает. Только поправить надо в нескольких местах. Спасибо автору!
<input type="radio" style="margin-top: 15px;" id="_field” name=”" value=”"> ()
<input type="radio" style="margin-top: 15px;" id="_field” name=”" value=”">
апреля 12, 2010 at 11:07
Да, есть такой момент