Hey Guys,
since I use Magento ver. 2.1.7. I Want to add a simple Text under every price in the frontend.
The Text has to inform the customer, that the price includes 19% Taxes and has to include a link to the shippingcosts page. I need to do that, so my site fits to the german laws.
Can anybody help me with this issue, I'm struggling since a week to solve this problem.

Thank you in advance!
Solved! Go to Solution.
Method - 1: If you want to display custom text only in product view page, then create catalog_product_view.xml in your custom theme
app/design/frontend/Vendor/theme/Magento_Catalog/layout/catalog_product_view.xml
<?xml version="1.0" ?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceContainer name="product.info.main">
<block class="Magento\Framework\View\Element\Template" name="custom.text" template="Magento_Catalog::view/customtext.phtml" after="product.info.price"/>
</referenceContainer>
</body>
</page>
Now create customtext.phtml and add your custom text
app/design/frontend/Vendor/theme/Magento_Catalog/templates/view/customtext.phtml
Now flush the cache and check
Method - 2: If you want to display custom text after price at everywhere then override final_price.phtml
FROM
vendor/magento/module-catalog/view/base/templates/product/price/final_price.phtml
TO
app/design/frontend/Vendor/theme/Magento_Catalog/templates/product/price/final_price.phtml
Method - 3: Last and the most simple way to do it with CSS
.product-info-price .price:after {
content: 'Custom Text';
}
If Issue Solved, Click Kudos/Accept As solutions.
Method - 1: If you want to display custom text only in product view page, then create catalog_product_view.xml in your custom theme
app/design/frontend/Vendor/theme/Magento_Catalog/layout/catalog_product_view.xml
<?xml version="1.0" ?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceContainer name="product.info.main">
<block class="Magento\Framework\View\Element\Template" name="custom.text" template="Magento_Catalog::view/customtext.phtml" after="product.info.price"/>
</referenceContainer>
</body>
</page>
Now create customtext.phtml and add your custom text
app/design/frontend/Vendor/theme/Magento_Catalog/templates/view/customtext.phtml
Now flush the cache and check
Method - 2: If you want to display custom text after price at everywhere then override final_price.phtml
FROM
vendor/magento/module-catalog/view/base/templates/product/price/final_price.phtml
TO
app/design/frontend/Vendor/theme/Magento_Catalog/templates/product/price/final_price.phtml
Method - 3: Last and the most simple way to do it with CSS
.product-info-price .price:after {
content: 'Custom Text';
}
If Issue Solved, Click Kudos/Accept As solutions.
Thank you very much! This solved all my problems!
okay, I tried to display the Text in the product listing page also, but method 2 won't work for me :/
Hello Prince I've been able to create a custom attribute and place the price under the text my issue is getting the attribute inline with the price like so.
Is there a way to add a custom attribute here
Magento/Catalog/Templates/Product/Price/Amount/Default.phtml
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ // @codingStandardsIgnoreFile ?> <?php /** @var \Magento\Framework\Pricing\Render\Amount $block */ ?> <span class="price-container <?= /* @escapeNotVerified */ $block->getAdjustmentCssClasses() ?>" <?= $block->getSchema() ? ' itemprop="offers" itemscope itemtype="http://schema.org/Offer"' : '' ?>> <?php if ($block->getDisplayLabel()): ?> <span class="price-label"><?= /* @escapeNotVerified */ $block->getDisplayLabel() ?></span> <?php endif; ?> <span <?php if ($block->getPriceId()): ?> id="<?= /* @escapeNotVerified */ $block->getPriceId() ?>"<?php endif;?> <?= ($block->getPriceDisplayLabel()) ? 'data-label="' . $block->getPriceDisplayLabel() . $block->getPriceDisplayInclExclTaxes() . '"' : '' ?> data-price-amount="<?= /* @escapeNotVerified */ $block->getDisplayValue() ?>" data-price-type="<?= /* @escapeNotVerified */ $block->getPriceType() ?>" class="price-wrapper <?= /* @escapeNotVerified */ $block->getPriceWrapperCss() ?>"> <?= /* @escapeNotVerified */ $block->formatCurrency($block->getDisplayValue(), (bool)$block->getIncludeContainer()) ?> </span> /* If Code added here it falls in-line */ <?php if ($block->hasAdjustmentsHtml()): ?> <?= $block->getAdjustmentsHtml() ?> <?php endif; ?> <?php if ($block->getSchema()): ?> <meta itemprop="price" content="<?= /* @escapeNotVerified */ $block->getDisplayValue() ?>" /> <meta itemprop="priceCurrency" content="<?= /* @escapeNotVerified */ $block->getDisplayCurrencyCode() ?>" /> <?php endif; ?> </span>
Any suggestions?
How to apply this condition for all pages?
@Prince Patel I just created a static cms block, how to call this into below product price?
app/design/frontend/Codazon/fastest/grocery_gourmet/Magento_Catalog/layout/catalog_product_view.xml
<referenceContainer name="content"> <block class="Magento\Cms\Block\Block" name="block_identifier"> <arguments> <argument name="block_id" xsi:type="string">usa_delivery_message</argument> </arguments> </block> </referenceContainer>
The text display but displayed at bottom of the description box, how to show below the price?
@Prince Patel I am created a custom static CMS Block and call from the product page, how can i exactly place under price but currently showing under description box.
Path : app/design/frontend/Codazon/fastest/grocery_gourmet/Magento_Catalog/layout/catalog_product_view.xml
code: (custom code added Botton of the code - usa_delivery_message )
<?xml version="1.0"?>
<!--
/**
* Copyright © 2015 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<page layout="1column" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<move element="product.info.sku" destination="page.main.title" />
<move element="product.info.review" destination="page.main.title" after="product.info.sku"/>
<move element="product.info.stock.sku" destination="product.info.main" after="page.main.title"/>
<referenceBlock name="catalog.leftnav" remove="true"/>
<move element="product.info.overview" destination="product.info.main" after="product.info.review" />
<referenceBlock name="product.info.overview" template="product/view/short_description.phtml">
<arguments>
<argument name="at_call" xsi:type="string">getShortDescription</argument>
<argument name="at_code" xsi:type="string">short_description</argument>
<argument name="css_class" xsi:type="string">overview</argument>
<argument name="at_label" translate="true" xsi:type="string">Overview</argument>
<argument name="title" translate="true" xsi:type="string">Overview</argument>
<argument name="add_attribute" xsi:type="string">itemprop="description"</argument>
</arguments>
</referenceBlock>
<referenceBlock name="product.info.addto"/>
<move element="product.info.addto" destination="product.info" after="-" />
<referenceContainer name="product.info.social">
<block class="Magento\Catalog\Block\Product\View" name="product.info.social.links" as="social" template="product/view/social.phtml" after="-" />
</referenceContainer>
<referenceContainer name="product.info">
<container name="product.info.staticblock" label="Product Static Block" htmlTag="div" htmlClass="product-info-staticblock" before="-" />
</referenceContainer>
<referenceContainer name="content">
<container name="product.main.content" htmlTag="div" htmlClass="product-main-content" before='-'></container>
</referenceContainer>
<referenceContainer name="product.main.content">
<container name="product.info.row" htmlTag="div" htmlClass="row">
<container name="product.info.left" label="Product Content Left" htmlTag="div" htmlClass="product-info-left col-sm-19" />
<container name="product.info.right" label="Product Content Right" htmlTag="div" htmlClass="product-info-right col-sm-5" />
</container>
</referenceContainer>
<move element="product.info.media" destination="product.info.left" before='-'/>
<move element="product.info.main" destination="product.info.left" />
<referenceContainer name="content">
<block class="Magento\Cms\Block\Block" name="block_identifier" after="product.info.price">
<arguments>
<argument name="block_id" xsi:type="string">usa_delivery_message</argument>
</arguments>
</block>
</referenceContainer>
<move element="block.identifier" destination="product.info.main" after="product.info.price"/>
</body>
</page>
Now display under https://i.imgur.com/VjKTKQp.png