0
我有一個小麻煩,獲得工作的PHP和jQuery的Magento的改變從添加到購物車,如果一個選項是在配置的選擇產品選擇預訂按鈕。更改添加到購物車按鈕上預購選擇
PHP的檢查,如果簡單的兒童產品配置的一個有選擇的選項。回聲
<?php
$conf = Mage::getModel('catalog/product_type_configurable')->setProduct($_product);
$col = $conf->getUsedProductCollection()->addAttributeToSelect('*')->addFilterByRequiredOptions();
$productMap = array();
foreach($col as $simpleProduct){
$productMap[$simpleProduct->getId()] = $simpleProduct->getAttributeText('preorder');
//$test = $simpleProduct->getId() && $simpleProduct->getAttributeText('preorder');
}
?>
結果:預訂
jQuery來改變按鈕,如果所選擇的產品具有的選項。
<?php if($productMap) { ?>
<script type="text/javascript">
jQuery(document).ready(function() {
// On document ready hide the button to preorder first
jQuery("#addtopreorder").hide();
jQuery("#addtocart").show();
jQuery("#<?=$productMap ?>").change(function() {
// Hide the button to preorder on slect element change action
jQuery("#addtopreorder").hide();
// Get the value of selected option
var optionValue = jQuery(this).attr('value');
// Just a test to see if you're getting option value
//alert(optionValue);
// Get the content (aka inner HTML) of selected option
var optionValueText = jQuery.trim(jQuery('#<?=$productMap ?> :selected').text());
// Just a test to see if you're getting right selected option inner text
// alert(optionValueText);
// alert('Selected option has value: ' + optionValue + ' and inner text: ' + optionValueText);
// Show the button based on selected value
// Whatch out, case sensitive...
if(! optionValue){
jQuery("#addtocart").show();
} else {
jQuery("#addtopreorder").show();
}
});
});
</script>
任何幫助表示讚賞。