Skip to main content

Working out with blocks and layouts in magento 2

Page layout declares the wireframe of a page inside the <body> section, for example one-column layout or two-column layout.
The allowed layout instructions are:

 <container>
 <referenceContainer>
 <move>
 <update>

If we want to include a additional template file in home page, we can do it by adding the following layout update at cms design layout update section at admin.

<referenceContainer name="footer">
    <block class="Magento\Framework\View\Element\Template" name="nameofblock" template="Magento_Theme::template_name.phtml"/>
</referenceContainer>

Here we are including "template_name.phtml" at footer container section.
The phtml template file should be under the templates folder of the module of our theme. Here the template is inside the module "Magento_Theme" under our theme.



If we want to include the template from static blocks section at admin, add the following block at the static block content.

{{block class="Magento\Framework\View\Element\Template" name="nameofblock" template="Magento_Theme::template_name.phtml"}}

Comments

Popular posts from this blog

Magento 2.3 Admin panel blank issue

After the Installation of Magento from the composer, we cannot access the admin panel. Also, the deploy command doesn't work. (On Windows 10 OS). Note: Magento 2.3 supports Linux OS. Windows and Mac OS is not supported. This is a Magento bug. Wrong paths to Windows are generated. The fixed fix is Magento 2.3.0 - 2.3.3 #/vendor/magento/framework/View/Element/Template/File/Validator.php:140 the string if (0 === strpos($realPath, $directory)) {     return true; } to replace $realDirectory = $this->fileDriver->getRealPath($directory); if (0 === strpos($realPath, $realDirectory)) {    return true; } Magento 2.2.7 /vendor/magento/framework/View/Element/Template/File/Validator.php:113 code protected function isPathInDirectories($path, $directories) {     if (!is_array($directories)) {         $directories = (array)$directories;     }     foreach ($directories as $directory) {   ...

Error on payment method when placing order "No Such Entity With Cart ID"

No Such Entity With Cart ID Error on payment method when placing order. If you receive the error message " No such entity. ", " No such entity with " or "No such entity with  customerId,OrderId " in Magento 2, the issue usually occurred when you try to load not existing object via Magento 2 Repository Class. To debug this issue, please open the file vendor/magento/framework/Exception/NoSuchEntityException.php and at the beginning of the  __construct  method temporary add debug backtrace code: foreach ( debug_backtrace () as $_stack ) { echo ( $_stack [ "file" ] ? $_stack [ "file" ] : '' ) . ':' . ( $_stack [ "line" ] ? $_stack [ "line" ] : '' ) . ' - ' . ( $_stack [ "function" ] ? $_stack [ "function" ] : '' ); } exit (); example: public function __construct ( Phrase $phrase = null , \...

Magento js validation message translation

Magento includes the translator library to translate the js messages that appear on our site. The translator js is already included at the head. To translate our messages, we just need to add the text to transator. For eg: This translator code needs to be added on our phtml file.  Translator.add('Select a color.', "<?php echo $this->__('Select a color.');?>"); Then we need to add the text to translate at locale file i.e translate.csv at the locale folder. However, this will not work for prototype js validation messages that appear on checkout pages. e.g. "This is a required field." etc. To translate these validation messages, we need to we’ll override Magento’s validate method. For that, we need to create an external js file and place it under js folder. For eg: js/lib/translatejs.js Validation.addAllThese([     ['validate-no-html-tags', Translator.translate('HTML tags are not allowed'), function(v) ...