سؤال

في Magento 1 يمكنني إدخال قالب من خلال البرمجة كما هو موضح أدناه.

$layout = Mage::getSingleton('core/layout');
$block = $layout->createBlock('module/module_block_identifier');
$block->setTemplate('module/test.phtml');

في Magento 2، كيف يمكنني إدخال قالب كما هو موضح أعلاه؟

هل كانت مفيدة؟

المحلول

يمكنك استخدام:

giveacodicetagpre.

class generaceticetagcode كما \Magento\Framework\View\Result\Layout

نصائح أخرى

إذا كنت داخل فئة كتلة يمكنك ببساطة استخدام:

$layout = $this->getLayout(); 
....

إذا كنت في وحدة تحكم فأنت بحاجة إلى حقن المنشئ في مثيل \Magento\Framework\View\LayoutFactory واستخدم ذلك:

protected $layoutFactory;
public function __construct(
    ...
    \Magento\Framework\View\LayoutFactory $layoutFactory,
    ....
) {
    ...
    $this->layoutFactory = $layoutFactory;
    ...
}

وبعد ذلك يمكنك استخدام هذا:

$layout = $this->layoutFactory->create(); 
$block = $layout->createBlock(....)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top