構成可能な製品を扱うショップがあります。すべての商品を含むカテゴリ ページで、価格の前にテキストを追加したいと考えています。どうやってやるの?モダンテーマを使用しています。
質問する
6085 次
4 に答える
1
catalog/product/list.phtm の getPriceHtml($_product, true) ?> の前にテキストを追加します
次のようなもの:
<?php echo "YOUR TEXT" ?>
<?php echo $this->getPriceHtml($_product, true) ?>
于 2013-07-24T13:36:05.093 に答える
0
価格の前にラベルを追加するには、カスタム テーマの final_phtml.phtml ファイルを上書きする必要があります -
コア ファイル パス -
vendor/magento/module-catalog/view/base/templates/product/price/final_price.phtml
カスタムテーマでオーバーライド -
app/design/frontend/VendorName/ThemeName/Magento_Catalog/templates/product/price/final_price.phtml
以下のようにコードを変更します -
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
// @codingStandardsIgnoreFile
?>
<?php
/** @var \Magento\Catalog\Pricing\Render\FinalPriceBox $block */
/** ex: \Magento\Catalog\Pricing\Price\RegularPrice */
/** @var \Magento\Framework\Pricing\Price\PriceInterface $priceModel */
$priceModel = $block->getPriceType('regular_price');
/** ex: \Magento\Catalog\Pricing\Price\FinalPrice */
/** @var \Magento\Framework\Pricing\Price\PriceInterface $finalPriceModel */
$finalPriceModel = $block->getPriceType('final_price');
$idSuffix = $block->getIdSuffix() ? $block->getIdSuffix() : '';
$schema = ($block->getZone() == 'item_view') ? true : false;
?>
<?php if ($block->hasSpecialPrice()): ?>
<span class="special-price">
<?php /* @escapeNotVerified */ echo $block->renderAmount($finalPriceModel->getAmount(), [
'display_label' => __('Custom Label 1 : '),
'price_id' => $block->getPriceId('product-price-' . $idSuffix),
'price_type' => 'finalPrice',
'include_container' => true,
'schema' => $schema
]); ?>
</span>
<span class="old-price">
<?php /* @escapeNotVerified */ echo $block->renderAmount($priceModel->getAmount(), [
'display_label' => __('Custom Label 2 : '),
'price_id' => $block->getPriceId('old-price-' . $idSuffix),
'price_type' => 'oldPrice',
'include_container' => true,
'skip_adjustments' => true
]); ?>
</span>
<?php else: ?>
<?php /* @escapeNotVerified */ echo $block->renderAmount($finalPriceModel->getAmount(), [
'display_label' => __('Custom Label 3 : '),
'price_id' => $block->getPriceId('product-price-' . $idSuffix),
'price_type' => 'finalPrice',
'include_container' => true,
'schema' => $schema
]); ?>
<?php endif; ?>
<?php if ($block->showMinimalPrice()): ?>
<?php if ($block->getUseLinkForAsLowAs()):?>
<a href="<?= /* @escapeNotVerified */ $block->getSaleableItem()->getProductUrl() ?>" class="minimal-price-link">
<?= /* @escapeNotVerified */ $block->renderAmountMinimal() ?>
</a>
<?php else:?>
<span class="minimal-price-link">
<?= /* @escapeNotVerified */ $block->renderAmountMinimal() ?>
</span>
<?php endif?>
<?php endif; ?>
ここで、最後のelse条件でこのコードに追加された以下のコードのテキストを変更しました.else条件には存在しなかったためです.
'display_label' => __('カスタム ラベル 3 : '),
ありがとう
于 2019-07-09T05:51:03.597 に答える
0
あなたは見ることができます
app/design/frontend/default/yourtheme/template/catalog/product/price.phtml
テーマにファイルが使用されていない場合は、調べることができます
\app\design\frontend\base\default\template\catalog\product\price.phtml
Around line 189 you will find the following:
<span id=”product-price-<?php echo $_id ?>
<?php echo $this->getIdSuffix() ?>”>
Just add the following above the line:
<?php echo $this->__(‘Your Text Goes Here:’) ?>
so that you have something like this:
<?php echo $this->__(‘Your Text Goes Here:’) ?>
<span class=”regular-price” id=”product-price-<?php echo $_id ?>
<?php echo $this->getIdSuffix() ?>”>
Your text will be reflected before the price in both
the catalog and the product page.
于 2013-07-25T05:07:18.490 に答える