0

I am trying to override template of Magento_Review module

I added new layout file under my module

app/code/Custom/CustomReview/view/frontend/layout/review_product_list.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">
    <update handle="catalog_product_view"/>
    <body>
        <referenceBlock name="product.info.product_additional_data">
            <action method="setTemplate">
                <argument name="template" xsi:type="string">Custum_CustomReview::product/view/list.phtml</argument>
            </action>
        </referenceBlock>
    </body>
</page>

and template file

app/code/Custom/CustomReview/view/frontend/templates/product/view/list.phtml

<h1>Overriding</h1>

and ny module.xml file look like below

    <?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="2columns-left" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
    <module name="Custom_CustomReview" setup_version="1.0.1">
        <sequence>
            <module name="Magento_Review"/>
        </sequence>
    </module>
</config>

But my template is not getting override. I cleared cache but no luck. Can anyone help what I am doing wrong here.

Thanks

1

You need to override review_product_listajax.xml in your module. And add below code only. It will work!

<?xml version="1.0"?>

<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/layout_generic.xsd">
    <referenceBlock name="product.info.product_additional_data">
        <action method="setTemplate">
            <argument name="template" xsi:type="string">Company_ModuleName::product/view/list.phtml</argument>
        </action>
    </referenceBlock>
</layout>

Flush cache and check.

  • Yeah but still not work :( I made review_product_list.xml but no luck – Daniel_12 Jun 3 '18 at 12:57
  • Have you created your custom theme? – Sarvesh Ahuja Jun 3 '18 at 13:00
  • no!! custom module. I dnt want to override it in theme – Daniel_12 Jun 3 '18 at 13:01
  • Mate, check I have updated code. – Sarvesh Ahuja Jun 4 '18 at 5:52
  • Thanks @sarvesh :) But the $review variable is not aviable in overrided template do I need to do something more to make $review variable accessible in my template – Daniel_12 Jun 4 '18 at 6:48
0

Try it

<?xml version="1.0"?>
<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/layout_generic.xsd">
        <update handle="catalog_product_view"/>
        <body>
            <referenceBlock name="product.info.product_additional_data">
                <arguments>
                    <argument name="template" xsi:type="string">Custum_CustomReview::product/view/list.phtml</argument>
                </arguments>
            </referenceBlock>
        </body>
    </page>

update :

<?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">
    <update handle="catalog_product_view"/>
    <body>
        <block class="Write_Class_your_block" name="product.info.product_additional_data" template="Custum_CustomReview::product/view/list.phtml"/>
    </body>
</page>
  • nop I doesn't work for me – Daniel_12 Jun 3 '18 at 11:12
  • Then redefine the block, this will trigger 100%. – Evgeniy Kapelko Jun 3 '18 at 11:13
  • how to redefine ? can you please tel me – Daniel_12 Jun 3 '18 at 11:14
  • try again, as I wrote back. I updated the answer. – Evgeniy Kapelko Jun 3 '18 at 11:28
  • do I need to make block ? – Daniel_12 Jun 3 '18 at 11:31
0

Try this:

 <?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">
    <update handle="catalog_product_view"/>
    <body>
        <referenceBlock name="product.info.additional">
            <arguments>
                    <argument name="template" xsi:type="string">Custum_CustomReview::product/view/list.phtml</argument>
                </arguments>
        </referenceBlock>
    </body>
</page>
0

You don't nee to create a new module just to override a template. override it in your current theme instead.

To override the xml review_product_list.xml :

app/design/frontend/{Vendor}/{themeName}/Magento_Review/layout/override/base/review_product_list.xml

To override the a template :

app/design/frontend/{Vendor}/{themeName}/templates/product/view/list.phtml

Good luck.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.