В продолжение этой темы
http://joomlaforum.ru/index.php/topic,276370.msg1378112.html#msg1378112Сделал вместо выпадающего списка простые кнопки для выбора атрибута товара, после нажатия кнопка остается подсвеченной + динамически меняется цена.
components\com_virtuemart\themes\Ваша тема\templates\product_details\includes\addtocart_advanced_attribute.tpl
Заменяем все на этот код:
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); ?>
<style>
label:hover {
background: #8B0000; /* Цвет фона при наведении */
color: #fff; /* Цвет текста при наведении */
}
</style>
<?php
foreach($attributes as $attribute) {
?>
<div class="vmAttribChildDetail" style="width:100%;text-align:left;margin:5px;">
<label for="<?php echo $attribute['titlevar'] ?>_field"><?php echo $attribute['title'] ?></label>:
</div>
<div class="vmAttribChildDetail" style="float:left;width:100%;margin:3px;">
<?php $labli=0;
foreach ( $attribute['options_list'] as $options_item ) : ?>
<?php if( isset( $options_item['display_price']) ) : ?>
<?php $labli++;?>
<label id="lb<?php echo $labli;?>" style="padding: 2px; border:1px solid #000;"><input type="radio" style="display:none;" id="<?php echo $attribute['titlevar'] ?>_field" name="<?php echo $attribute['titlevar'].$attribute['product_id'] ?>" value="<?php echo $options_item['base_var'] ?>" onclick="lablButColor(<?php echo $labli;?>); onclickButton('(<?php echo $options_item['sign'].$options_item['display_price'] ?>)', <?php echo $attribute['product_id'];?>)"<?php if($labli==0) {echo " checked";}?>><?php echo $options_item['base_value'] ?> <span id="<?php echo $options_item['base_var'] ?>" style="display:none">(<?php echo $options_item['sign'].$options_item['display_price'] ?>)</span></label> <?php If(($labli==4)||($labli==8)){ echo "<br /><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'] ?>
<?php endif; ?>
<?php endforeach; echo "<br>";?>
</div>
<br style="clear:both;" />
<script type="text/javascript">
var lablcount = <?php echo $labli;?>;
</script>
<?php
} ?>
В components\com_virtuemart\themes\Ваша тема\templates\product_details\flypage_new.tpl
или в какой используете шаблон добавляем функцию (JavaScript)
function lablButColor(x) {
var labchk="";
for (var i=1;i<=lablcount ;i++ )
{
labchk=document.getElementById('lb'+i);
if (x==i) { labchk.style.background='#8B0000'; labchk.style.color='#fff'; }
else { labchk.style.background=''; labchk.style.color=''; }
}
}
Пример работы
http://www.pavlodar.ipsys.netЦена будет меняться только если сделать все, что написано в теме, которая указана в начале поста