Question

I want to add custom link in More Information tab. See attached screenshot:

I want to give a link instead of text

enter image description here

Was it helpful?

Solution

  • Create an Attribute in admin with text type say external_link

  • Add phtml at:

app/design/frontend/{Package}/{theme}/Magento_Catalog/layout/catalog_product_view.xml

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="2columns-left" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="product.info.addtocart">
            <block class="Magento\Catalog\Block\Product\View" name="external.link" template="Magento_Catalog::externallink.phtml"/>
       </referenceBlock>
    </body>
</page>

Now create phtml and get attribute value:

app/design/frontend/{Package}/{theme}/Magento_Catalog/templates/externallink.phtml

<?php $product = $block->getProduct(); ?>
<?php if($link = $product->getExternalLink()){ ?>
    <div class="link">
        <a href="<?= $link; ?>"><?= $block->escapeHtml(__('Link text')) ?></a>
    </div>
<?php } ?>

Hope above will help!

OTHER TIPS

Then you need to do the following things.

  1. first create one product attribute where you mention this link of third party.

  2. Now create one custom extension and create custom phtml file and call the file on product page on specific by using reference block.

  3. Now in that phtml file, fetch that product attribute value and show to customer.

I was able to do this by adding the attribute then importing via csv with text similar to the following

'<a href='https://pirate.black/' target='_blank'>https://pirate.black//</a>

It will also work if directly entered in the new product attribute.

Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top