在选择时将添加到购物车按钮更改为预购 [英] Change Add to cart button to Preorder on select

查看:15
本文介绍了在选择时将添加到购物车按钮更改为预购的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果在可配置的选定产品上选择了一个选项,我在使用 php 和 jquery for magento 将按钮从添加到购物车更改为预订时遇到了一个小麻烦.

i have a small trouble to get working a php and jquery for magento to change button from add to cart to preorder if an option is selected on configurable selected product.

用于检查可配置中的简单子产品之一是否已选择该选项的 php.

The php to check if one of the simple children products from configurable has the option selected.

<?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 更改按钮.

Jquery to change the button if the selected product has the option.

<?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>

感谢任何帮助.

推荐答案

问题由 SCP Simple Configurable Product 解决.由有机互联网制作.

Issue resolved by SCP Simple Configurable Product. made by Organic Internet.

扩展链接

这篇关于在选择时将添加到购物车按钮更改为预购的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆