3

I want to add new container only for group products in Frontend.

enter image description here

Above Screenshot is group product's view page of my magento frontend.

In above Screenshot,I want to add that container Div below reviews container.

3
  • Do you need a tab next to reviews or another div entirely after reviews? Commented Dec 29, 2017 at 14:36
  • Did you try my code? If you do not know how to implement it I'll make it more detailed. Commented Dec 31, 2017 at 14:47
  • I need another div entirely after reviews Anime. Commented Jan 2, 2018 at 5:53

1 Answer 1

3

To do this you have to follow this procedure.

1. Override Magento_Catalog::product/view/details.phtml

First create a module inside which create a layout file /app/code/YourVendor/YourModule/view/frontend/layout/catalog_product_view.xml

<?xml version="1.0"?> <!-- /** * Copyright © 2013-2017 Magento, Inc. 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">    <referenceBlock name="product.info.details">        <action method="setTemplate">            <argument name="template" xsi:type="string">YourVendor_YourModule::details.phtml</argument>        </action>    </referenceBlock> </page> 

2. Create your details.phtml at location /app/code/YourVendor/YourModule/view/frontend/templates/details.phtml

Make sure you copy whole code from core file and make necessary changes like adding your own div.

<?php /** * Copyright © 2013-2017 Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ // @codingStandardsIgnoreFile ?> <?php if ($detailedInfoGroup = $block->getGroupChildNames('detailed_info', 'getChildHtml')):?> <div class="product info detailed"> <?php $layout = $block->getLayout(); ?> <div class="product data items" data-mage-init='{"tabs":{"openedState":"active"}}'> <?php foreach ($detailedInfoGroup as $name):?> <?php $html = $layout->renderElement($name); if (!trim($html)) { continue; } $alias = $layout->getElementAlias($name); $label = $block->getChildData($alias, 'title'); ?> <div class="data item title" aria-labeledby="tab-label-<?php /* @escapeNotVerified */ echo $alias;?>-title" data-role="collapsible" id="tab-label-<?php /* @escapeNotVerified */ echo $alias;?>"> <a class="data switch" tabindex="-1" data-toggle="switch" href="#<?php /* @escapeNotVerified */ echo $alias; ?>" id="tab-label-<?php /* @escapeNotVerified */ echo $alias;?>-title"> <?php /* @escapeNotVerified */ echo $label; ?> </a> </div> <div class="data item content" id="<?php /* @escapeNotVerified */ echo $alias; ?>" data-role="content"> <?php /* @escapeNotVerified */ echo $html; ?> </div> <?php endforeach;?> </div> </div> <?php endif; ?> <!--now on goes my logic to add a div for grouped product. --> <?php if($block->getProduct()->getData('type_id')=='grouped'): ?> <div id='custom_block'> <h2>This is my added div.</h2> </div> <?php endif; ?> 

3. Output You can see that my div is seen only for grouped product. enter image description here

4
  • Thank u so much Anime. It was very useful to me. But can i do this inside "module-grouped-product" module instead of create new module.? Commented Jan 2, 2018 at 6:02
  • Hello nagaraj, you must not write code in core folders, it is bad practice , make your own module. It is an easy task. Commented Jan 2, 2018 at 6:07
  • @PurushotamSangroula, awesome. is there have any options to add a custom block next to add to cart button? Commented Jan 30, 2019 at 4:54
  • @senthil Yes, there is, thank you for your appreciation Commented Jan 30, 2019 at 12:37

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.