【问题标题】:Magento: Display price twice on product pagesMagento:在产品页面上显示两次价格
【发布时间】:2018-07-09 20:05:41
【问题描述】:

这是在产品页面上生成价格的代码:

<?php  echo $this->getPriceHtml($_product) ?>

*app/design/frontend/default/CUSTOM_TEMPLATE/template/catalog/product/view.phtml*

我有一个带有一些自定义选项的简单产品。当客户选择其中一个选项时,价格会上涨。在此之前一切正常。

我的问题是如何在同一页面上显示两次价格(出于设计目的需要这个)?

我尝试将上述代码复制粘贴到同一页面的两个位置,但问题是选择产品选项时第二个价格不会更新。只有一个价格更新,第二个不会。关于如何使它工作的任何想法?

【问题讨论】:

    标签: magento


    【解决方案1】:

    页面上很可能存在计算新价格或使用 AJAX 获取新价格的 JavaScript。所以输出的价格是:

    <?php echo $this->getPriceHtml($_product) ?>
    

    将被新的覆盖。解决这个问题需要您找到 Javascript 并找到它执行此操作的位置。您还应该检查 getPriceHtml 调用周围的 HTML 元素。我猜模板可能是这样的:

    <p class="totalProductPrice"><?php echo $this->getPriceHtml($_product) ?></p>
    

    如果您使用具有可识别类名或 ID 的元素围绕第二个价格输出的输出,您应该能够修改 Javascript 以将新计算的价格以及原始价格输出到该元素。

    编辑:

    检查我自己的代码库后,我认为您要查找的文件位于/js/varien/Product.js。在函数 reloadPrice: function() 中,检查第 481 行:

        if($('product-price-'+this.config.productId)){
            $('product-price-'+this.config.productId).innerHTML = price;
        }
    

    并修改脚本以更新您的第二个价格元素。

    【讨论】:

    • @OlivierVandeVelde 我不记得了,因为我已经超过 4 年没有使用这个了
    【解决方案2】:

    我的解决方案是:

    price_clone.phtml 复制到 price_clone2.phtml 并更改:

    <?php echo $this->getPriceHtml($_product, false, '_clone2') ?>
    

    catalog.xml中添加块

    <block type="catalog/product_view" name="product.clone_prices2" as="prices2" template="catalog/product/view/price_clone2.phtml"/>
    

    并在 product.js 中更改 initPrices 函数

    initPrices: function() {
        this.containers[0] = 'product-price-' + this.productId;
        this.containers[1] = 'bundle-price-' + this.productId;
        this.containers[2] = 'price-including-tax-' + this.productId;
        this.containers[3] = 'price-excluding-tax-' + this.productId;
        this.containers[4] = 'old-price-' + this.productId;
        this.containers[5] = 'product-price-' + this.productId+'_clone2';
    },
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多