Динамически создавать блок из контроллера
Я создаю всплывающее окно, которое загружается через окно входа в Magento по умолчанию ajax.
Шаблон блока входа по умолчанию находится в template/persistent/customer/form/login.phtml
.
Я уже успешно реализовал контроллер, выводящий данные для запроса ajax:
<?php
class My_Module_LoginController extends Mage_Core_Controller_Front_Action {
public function loginwindowAction() {
echo 'Hello world'; // I can see this text in ajax response
// Now, how to print here login block?
}
}
Что я пытаюсь сделать, так это просто создать блок и воспроизвести его HTML. Только блок, без остальной части макета страницы.
Есть ли какой-либо способ сделать это без создания xml-макета страницы?
5
1 answers
Вы должны быть в состоянии сделать это (тип блока может быть неправильным, поэтому измените его по мере необходимости):
$block = $this->getLayout()->createBlock('customer/form_login')->setTemplate('persistent/customer/form/login.phtml');
$this->getResponse()->setBody($block->toHtml());
12
Author: Paul, 2013-07-02 15:45:03