Magento 2 – How to Override a PHTML File from a Custom Module

frontendmagento2overridesphtmlproduct

I need to override

/vendor/magento/module-catalog/view/frontend/templates/product/view/gallery.phtml.

For this, in app/code/namespace/Customtab/view/frontend/layout/catalog_product_view.xml

<?xml version="1.0"?>
<page layout="1column" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>

    <referenceContainer name="content">
        <referenceBlock name="product.info.addtocart">
            <action method="setTemplate">
                <argument name="template" xsi:type="string">namespace_Customtab::product/view/gallery.phtml</argument>
            </action>
        </referenceBlock>
     </referenceContainer>
</body>

paste the custom phtml file in

app/code/namespace/Customtab/view/frontend/templates/product/view/gallery.phtml.

But it didn't works.Please help me to find a solution.

Best Answer

Use 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">
    <body>        
        <referenceBlock name="product.info.media.image">
            <action method="setTemplate">
                <argument name="template" xsi:type="string">Namespace_Customtab::product/view/gallery.phtml</argument>
            </action>
        </referenceBlock>
    </body>
</page>