【问题标题】:How to change price value dynamically in magento如何在magento中动态更改价格值
【发布时间】:2013-01-10 03:27:20
【问题描述】:

我是 Magento 的初学者。我想使用 ajax 动态更改产品详细信息页面中的价格值。同时我也想在购物车页面中计算这个价格值

参考这个网址: http://dev.tangoprint.ch/magento/index.php/plakate/a1.html

此页面包含一个计算器来计算价格值,并且我还想动态更改购物车页面中的价格。 请参考这张图片:

任何建议将不胜感激。

【问题讨论】:

  • 根据你想改变什么标准?
  • thank u sahal....我想根据计算值更改我的价格值...例如:-如果我在计算器中得到 100 美元意味着我想更改产品价格中的相同值。 .
  • 你能解释一下你的计算器是做什么的吗?
  • 再次感谢你 sahal,计算器我想更改产品数量并根据数量计算其价格值。我想更改哪个页面 sahal...?
  • 检查下面的答案。这会帮助你。您正在更改 price 值,当您 add to cart 时,它将反映在购物车中。

标签: php javascript ajax magento magento-1.7


【解决方案1】:

第 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 时,它将反映在购物车中。

【讨论】:

  • 嗨 sahal....我可以创建 ajaxpricecal.php 页面吗?否则请说出此页面的路径........
  • 在您的根目录中创建一个myscript 文件夹。 root 表示您的appskin 文件夹所在的位置。将ajaxpricecal.php 放入myscript 文件夹
  • 看到你可以通过在ajaxpricecal.php文件中包含Mage.php来理解它。
  • 嗨 sahal .....它工作得很好....非常感谢....我还需要向它展示产品详细信息页面啊?...还有什么?
  • 不,你已经完成了。 (我猜你现在在产品详细信息页面上工作。在购物车页面中你不需要做任何事情)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-10
相关资源
最近更新 更多