Обновление содержимого Magento Layout XML не загружается - PullRequest
1 голос
/ 16 ноября 2011

Так что я искал в Интернете уже несколько часов, и я не могу этого понять.

Я написал пользовательский модуль Magento с настраиваемой страницей указателей, которая отлично работает при одной установке Magento (1.5.0.1), но не по другому (1.5.1.0).Проблема заключается в том, что мой пользовательский файл шаблона не включается, когда я перехожу к основному URL-адресу модуля (domain.com/module).

. Поэтому я знаю следующее:

XML-формат используется, когдастраница построена (потому что я получаю ошибки в system.log, если умышленно путаю синтаксис) Если я включаю var_dump ($ this-> getLayout () -> getUpdate () -> getHandles ());в моем IndexController.php я вижу, что:
1) мой IndexController вызывается, так что должно быть в порядке и
2) дескриптор для моего модуля вызывается и имеет точно такое же имя, которое я указал в моем XML-макетефайл. Файл шаблона не вызывается.Я знаю, потому что это должно вызвать исключение Magento, если оно есть (я включил несуществующий вызов функции для объекта в этом файле шаблона для целей тестирования). Если я изменю

1 Ответ

5 голосов
/ 16 ноября 2011

Полагаю, псевдоним класса identifier/action неправильно разрешается в блочный класс PHP / Magento.Проверьте ваш журнал исключений Magento (var/log/exception.log, регистрация должна быть включена в консоли администратора), и вы, вероятно, увидите некоторые ошибки, связанные с «Недопустимый тип блока».

Попробуйте запустить

$block = $this->getLayout()->createBlock('identifier/action');
var_dump($block);
if($block)
{
    $block->setTemplate('path/to/template.phtml');
    var_dump($block->toHtml());   
}    

из контекста PHP (действие контроллера) и убедитесь, что ваш блок действительно создается.Также стоит проверить, что ваш шаблонный файл действительно существует в вашей теме и что ваш пользовательский блок наследуется от блока шаблона.

...