OpenCart单选框赋默认值的解决方案

10/02 PHP应用系统 阅读 880 views 次 人气 0
摘要:

Opencart中商品购买页面,在展示商品时,页面上会有单选框组件,但是opencart没有给其默认值。

问题效果:

OpenCart单选框赋默认值的解决方案.png


问题分析:

Opencart是通过在工程目录下www\opencart2.0.1.1\catalog\view\theme\default\template\product下的product.tpl模板里进行循环加载单选框,代码如下:

OpenCart单选框赋默认值的解决方案1.png

解决方案:

第一种方法:(页面只有一个radio)

如果页面只有一个单选框radio组件那么可以简单在加载页面时js里进行处理,根据type=radio,给他第一个单选框默认被选中。

<script type="text/javascript">
    $('.radio input[type=radio]:eq(0)').attr('checked','checked');
</script>

将上诉代码放到www\opencart2.0.1.1\catalog\view\theme\default\template\product下的product.tpl这个文件的最后。

第二种方法:(页面多个radio都会被设置默认值)

如果页面有多个单选框radio,需要在加载循环的地方添加,找到页面:

OpenCart单选框赋默认值的解决方案1.png

这部分代码,用以下代码代替上述代码。

<?php if ($option['type'] == 'radio') { ?>
	<div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>">
	  <label class="control-label"><?php echo $option['name']; ?></label>
	  <div id="input-option<?php echo $option['product_option_id']; ?>">
		<?php $count=1; foreach ($option['product_option_value'] as $option_value) { 
			
		?>
		<div class="radio">
		  <label>
			<input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" 
			 <?php if ($count == 1) {?>
			 checked="checked" 
			 <?php $count++;} ?>
			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>
		</div>
		<?php } ?>
	  </div>
	</div>
<?php } ?>

替换完之后刷新页面可看到每一个单选框都没默认选着第一个。

评论

该文章不支持评论!

分享到: