php Los datos de la plantilla del conjunto de widgets personalizados de Magento 2 no se muestran en la interfaz



magento2 (1)

Estoy trabajando para crear un widget personalizado en la extensión personalizada. Sigo esto para crear un widget en mi extensión personalizada. Todo funciona bien pero los datos no se muestran en la plantilla $this->setTemplate('widget/viewed_list.phtml'); Debajo de mi código:

Technologymindz / Instagramfeed / Block / Widget / Instawidget.php

<?php
namespace Technologymindz\Instagramfeed\Block\Widget;

class Instawidget extends \Magento\Framework\View\Element\Template implements \Magento\Widget\Block\BlockInterface
{

    public function _toHtml()
    {
        $this->setTemplate('widget/viewed_list.phtml');

    }


}

Technologymindz / Instagramfeed / etc / widget.xml

<?xml version="1.0" encoding="UTF-8"?>

<widgets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../Magento/Widget/etc/widget.xsd">
    <widget id="tm_customwidget" class="Technologymindz\Instagramfeed\Block\Widget\Instawidget">
        <label translate="true">Instagram Feeds</label>
        <description>Show Your Instagram Feeds Anywhere</description>
        <parameters>
                        <parameter name="tmfeedtoshow" xsi:type="select" required="true" visible="true">
                            <label>Show Latest Feeds</label>
                            <options>
                                <option name="default" value="12" selected="true">
                                    <label translate="true">12</label>
                                </option>
                                <option name="list" value="24">
                                    <label translate="true">24</label>
                                </option>                              
                            </options>
                        </parameter>
            <parameter name="tmview_type" xsi:type="select" required="true" visible="true">
                            <label>Select View Type</label>
                            <options>
                                <option name="default" value="widget/viewed_grid.phtml" selected="true">
                                    <label translate="true">Grid View</label>
                                </option>
                                <option name="list" value="widget/viewed_list.phtml">
                                    <label translate="true">List View</label>
                                </option>                              
                            </options>
                        </parameter>
        </parameters>                
    </widget>
</widgets>

Technologymindz / Instagramfeed / view / frontend / widget / viewed_list.phtml

<?php
echo $this->getTmview_type();
echo 'Welcome';
?>

La salida de datos no se muestra para la viewed_list.phtml pero si configuro algo en la función Bloquear _toHtml() de lo que muestra.

public function _toHtml()
    {
        return '<p class="hello">Hello world!</p>';
    }

Quiero administrar la salida en .phtml no en Block, espero poder obtener una solución para este o cualquier otro tutorial mejor para Magento 2 Widget personalizado de datos en la plantilla.


Ok, después de mucha investigación, encontré un artículo amable aquí y este problema de solución para mí. _toHtml función _toHtml completamente eliminada

La solución funcionó para mí:

protected function _construct()
    {
        parent::_construct();
        $this->setTemplate('widget/viewed_list.phtml');
    }