Magento 2:产品缺货后切换 'Sold' 标签的价格
Magento 2: Switch the price for 'Sold' label after product is out of stock
我正在尝试为缺货产品的产品页面上的 'Sold' 标签更改价格。
如果产品售罄,价格应隐藏,取而代之的是 'Sold' 标签。
我发现价格放在 catalog_product_view.xml 中,它调用 vendor/magento/module-catalog/view/base/templates/product/price/final_price.phtml
文件,但我不知道在哪里以及如何引入条件来检查产品是否是是否售罄
有人可以帮忙吗?
提前致谢。
元
Magento 1 中缺货产品的隐藏价格。
RWD 主题
app/design/frontend/rwd/template/catalog/product/view.phtml
改变
<div class="price-info">
<?php echo $this->getPriceHtml($_product); ?>
<?php echo $this->getChildHtml('bundle_prices') ?>
<?php echo $this->getTierPriceHtml() ?>
</div>
收件人:
<?php if($_product->isSaleable()): ?>
<div class="price-info">
<?php echo $this->getPriceHtml($_product); ?>
<?php echo $this->getChildHtml('bundle_prices') ?>
<?php echo $this->getTierPriceHtml() ?>
</div>
<?php endif; ?>
默认主题:
\app\design\frontend\base\default\template\catalog\product\view\type\default.phtml
改变
<?php echo $this->getPriceHtml($_product) ?>
收件人:
<?php if($_product->isSaleable()): ?>
<?php echo $this->getPriceHtml($_product) ?>
<?php endif; ?>
或
Magento 2 中缺货产品的隐藏价格。
在管理页面上,点击 Stores,然后在 Setting 部分下,选择 Configuration.
在此页面中,您可以在 目录 下找到 库存 部分。展开 Stock Options 部分,您可以开始设置产品的自定义状态。
在进入缺货产品部分之前,您需要输入此字段。
取消订单时将商品状态设置为有货:您想要return时选择是如果订单被取消,商品将添加到您的库存中。
下单时减少库存:下单时如果要调整在手数量,选择是
然后我们可以来到允许您在 Magento 2 中显示或禁用缺货产品的部分。
您要显示缺货的商品,您将显示缺货的商品栏目设置为是。相反,如果要禁用它,请设置否。
据我了解,您对这个问题有两个部分
1) 如果产品缺货,则在产品详情页面隐藏价格
- 价格在 vendor/magento/module-catalog/view/frontend/layout/catalog_product_view 中定义。xml
- 调用于 class:Magento\Catalog\Pricing\Render 和方法:_toHtml()
您可以将使用DI的方法覆盖到下面
protected function _toHtml()
{
/** @var PricingRender $priceRender */
$priceRender = $this->getLayout()->getBlock($this->getPriceRender());
if ($priceRender instanceof PricingRender) {
$product = $this->getProduct();
if ($product instanceof SaleableInterface && $product->isAvailable()) {
$arguments = $this->getData();
$arguments['render_block'] = $this;
return $priceRender->render($this->getPriceTypeCode(), $product, $arguments);
}
}
return parent::_toHtml();
}
$product->isAvailable() 是我们添加的新条件
2) 显示已售标签
默认显示缺货标签,但如果您仍想显示,请在 vendor/magento/modul-catalog/view/frontend/layout/catalog_product_view 中创建您的块和模板。xml
- 和 $product->isAvailable() 函数来检查产品的可用性
希望对您有所帮助
我正在尝试为缺货产品的产品页面上的 'Sold' 标签更改价格。 如果产品售罄,价格应隐藏,取而代之的是 'Sold' 标签。
我发现价格放在 catalog_product_view.xml 中,它调用 vendor/magento/module-catalog/view/base/templates/product/price/final_price.phtml
文件,但我不知道在哪里以及如何引入条件来检查产品是否是是否售罄
有人可以帮忙吗? 提前致谢。
元
Magento 1 中缺货产品的隐藏价格。
RWD 主题
app/design/frontend/rwd/template/catalog/product/view.phtml
改变
<div class="price-info">
<?php echo $this->getPriceHtml($_product); ?>
<?php echo $this->getChildHtml('bundle_prices') ?>
<?php echo $this->getTierPriceHtml() ?>
</div>
收件人:
<?php if($_product->isSaleable()): ?>
<div class="price-info">
<?php echo $this->getPriceHtml($_product); ?>
<?php echo $this->getChildHtml('bundle_prices') ?>
<?php echo $this->getTierPriceHtml() ?>
</div>
<?php endif; ?>
默认主题:
\app\design\frontend\base\default\template\catalog\product\view\type\default.phtml
改变
<?php echo $this->getPriceHtml($_product) ?>
收件人:
<?php if($_product->isSaleable()): ?>
<?php echo $this->getPriceHtml($_product) ?>
<?php endif; ?>
或
Magento 2 中缺货产品的隐藏价格。
在管理页面上,点击 Stores,然后在 Setting 部分下,选择 Configuration.
在此页面中,您可以在 目录 下找到 库存 部分。展开 Stock Options 部分,您可以开始设置产品的自定义状态。
在进入缺货产品部分之前,您需要输入此字段。
取消订单时将商品状态设置为有货:您想要return时选择是如果订单被取消,商品将添加到您的库存中。
下单时减少库存:下单时如果要调整在手数量,选择是
然后我们可以来到允许您在 Magento 2 中显示或禁用缺货产品的部分。
您要显示缺货的商品,您将显示缺货的商品栏目设置为是。相反,如果要禁用它,请设置否。
据我了解,您对这个问题有两个部分
1) 如果产品缺货,则在产品详情页面隐藏价格
- 价格在 vendor/magento/module-catalog/view/frontend/layout/catalog_product_view 中定义。xml
- 调用于 class:Magento\Catalog\Pricing\Render 和方法:_toHtml()
您可以将使用DI的方法覆盖到下面
protected function _toHtml() { /** @var PricingRender $priceRender */ $priceRender = $this->getLayout()->getBlock($this->getPriceRender()); if ($priceRender instanceof PricingRender) { $product = $this->getProduct(); if ($product instanceof SaleableInterface && $product->isAvailable()) { $arguments = $this->getData(); $arguments['render_block'] = $this; return $priceRender->render($this->getPriceTypeCode(), $product, $arguments); } } return parent::_toHtml(); }
$product->isAvailable() 是我们添加的新条件
2) 显示已售标签
默认显示缺货标签,但如果您仍想显示,请在 vendor/magento/modul-catalog/view/frontend/layout/catalog_product_view 中创建您的块和模板。xml
- 和 $product->isAvailable() 函数来检查产品的可用性
希望对您有所帮助