Magento2 Загрузка административного макета и шаблона на новой странице

magento.stackexchange https://magento.stackexchange.com/questions/102789

  •  28-09-2020
  •  | 
  •  

Вопрос

Я не могу занять голову вокруг этого.

У меня есть этот контроллер

namespace   Vendor\Gift\Controller\Adminhtml\Gift;

use Magento\Backend\App\Action\Context;

class Index extends \Magento\Backend\App\Action
{
    /**
     * @var \Magento\Framework\View\Result\PageFactory
     */
    protected $resultPageFactory;

    /**
     * @param \Magento\Backend\App\Action\Context $context
     */
    public function __construct(
            Context $context
    ) {
        parent::__construct($context);
    }

    public function execute()
    {       
        $resultPage = $this->resultFactory->create(\Magento\Framework\Controller\ResultFactory::TYPE_PAGE);
        return  $resultPage;
    }

}
.

Эта макет в поле зрения / adminhtml / layout / vendor_gift_index.xml

Редактировать:

Изменен макет для просмотра / adminhtml / layout / gift_gift_index.xml После этого ответа

https://magento.stackexchange.com/a/102800/36102

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <update handle="styles"/>
    <body>
        <referenceContainer name="content">
           <block class="Vendor\Gift\Block\Adminhtml\Gift\Index"  name="vendor.gift.index"  
                    template="Vendor_Gift::gift/index.phtml"  />
        </referenceContainer>
    </body>
</page>
.

и файл шаблона в:

view/adminhtml/templates/gift/index.phtml
.

и блок

.

Пространство имен \ Gift \ Block \ adminhtml \ pired;

class Index extends  \Magento\Backend\Block\Template
{
    protected $_template = 'gift/index.phtml';

    public function __construct(
            \Magento\Backend\Block\Template\Context $context
    ) { 
        parent::__construct($context);
    }

    protected function _toHtml() {
        return $this->_template;
    }
}
.

Почему мой вывод на странице просто показывает:

Vendor_Gift::gift/index.phtml
.

вместо HTML из шаблона.Действительно застрял на этом и так близко ... кто-нибудь поможет, пожалуйста,

Это было полезно?

Решение

Ваше имя файла должно быть изменено, как это:

от

vendor_gift_index.xml

gift_gift_index.xml

Другие советы

https://magento.stackexchange.com/a/102800/36102

в сочетании с удалением

protected function _toHtml() {
    return $this->_template;
}
.

Я понятия не имею, почему это сработало, но на самом деле он проходит переменные из блока к шаблону и анализирует содержимое HTML в шаблоне, что является потрясающе :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top