0

私はMagentoの初心者です。ajaxを使って商品詳細ページの価格値を動的に変更したい。その間、カートページでもこの価格値を計算したい

この URL を参照してください: http://dev.tangoprint.ch/magento/index.php/plakate/a1.html

このページには、価格値を計算するための計算機が含まれており、カート ページでも動的に価格を変更したいと考えています。この画像を参照してください: ここに画像の説明を入力

任意の提案をいただければ幸いです。

4

1 に答える 1

2

ステップ 1 - page.xml に jQuery を含める (app/design/frontend/mytheme/default/layout/page.xml)

<action method="addJs"><script>jquery/jquery-1.5.2.no-conflict.min.js</script></action>

ステップ 2 - 価格計算の php ページ (/myscripts/ajaxPriceCal.php) を追加します。

<?php
include_once '../app/Mage.php';
Mage::app();

if(isset($_POST['qty']) && !empty($_POST['qty'])){

    $product_id = $_POST['pid'];
    $my_qty = $_POST['qty'];
    $my_price = 0;

    $_product = Mage::getModel('catalog/product')->load($product_id);

    $_tierPrices = $_product->tier_price;

    $_tierPrices = array_reverse($_tierPrices);

    for($i=0; $i < count($_tierPrices); $i++){
        if($my_qty >= $_tierPrices[$i]['price_qty']){
            $my_price = $_tierPrices[$i]['price'];        
            break;
        }
    }

    $calculated_price = $my_price*$my_qty;

    echo number_format($calculated_price,2,'.',',');
}
?>

ステップ 3 - ティア価格数量テキスト オプション ページの変更 (app/design/frontend/mytheme/default/template/catalog/product/view/options/type/text.phtml)

次のスクリプトを text.phtml ページの最初に追加します

<script type="text/javascript">
$j = jQuery.noConflict();

function get_total_qty(){
    var qty = parseInt(0);
    var qty = $("#calculator_qty").val();
    /*
    * AJAX call
    */
    var quantity = parseInt($j('#qty').val()) + parseInt(qty); // get final quantity
    var product_id = $j('#prod_id').val(); // get product id
    $j.post("/magento/scripts/ajaxPriceCal.php", { qty: quantity, pid: product_id },
        function(data){
            $j('.price').html(data);
    });

}

$j(document).ready(function(){
    $j('.calculate').click(function(){
        if($("#calculator_qty").val()){
            get_total_qty();
        }
    });    
});
</script>

これはあなたを助けるでしょう。price値を変更するとadd to cart、カートに反映されます。

于 2013-01-26T06:03:50.433 に答える