Question

I am Creating a simple layout block and template, but it is giving error

Exception #0 (Magento\Framework\Exception\ValidatorException): Invalid template file: 'Test_Module::stock_left.phtml' in module: 'Test_Module' block's name: 'productleft'

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:Module/etc/module.xsd">
    <body>
        <referenceContainer name="product.info.main">
            <block class="Test\Module\Block\StockLeft" name="productleft" template="Test_Module::stock_left.phtml"/>
        </referenceContainer>
    </body>
</page>

Block StockLeft.php

<?php 

namespace Test\Module\Block;

use Magento\Framework\view\Element\Template;

class StockLeft extends Template{

}

Template : stock_left.phtml

<?php
/**@var \Test\Module\Block\stockleft $blocks */

?>

<h1>hello world</h1>

Thanks in advance.

Was it helpful?

Solution

You need to create your template file inside templates directory not template like

in Module :

app/code/Vendor/Module/view/frontend/templates/template.phtml

or in Theme :

app/design/frontend/Vendor/Theme/Magento_Theme/templates/template.phtml

Create your template file here in your module

app/code/Test/Module/view/frontend/templates/stock_left.phtml

Hope this will help you!

OTHER TIPS

In Block you have a typo.

use this: \Magento\Framework\View\Element\Template

Let me know if this helps

Thnx

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