Как разместить статический блок, определенный на странице администратора категории?

В категории «Администратор» в настройках дисплея я назначил статический блок. Это отображается нормально, но мне нужно поместить его ниже по странице. Я искал обратный вызов, подобный универсальному getChildHtml, но для блоков.

Я также подумал, что код статического блока, который я обычно использую, может быть изменен с

<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('block-name')->toHtml();?>

к чему-то вроде этого

<?php echo $this->getLayout()->createBlock('cms/block')->toHtml();?>

но увы не получилось. Возможно, я мог бы сделать с файлом local.xml, но я не уверен, как его настроить.

Бит застрял, поэтому любая помощь будет принята с благодарностью


person Adam Hughes    schedule 27.02.2014    source источник


Ответы (1)


Я придумал обходной путь. Это не идеально, но это работает. Вместо использования опции статического блока на странице категории я добавил статический блок в шаблон list.phtml. Затем я создаю переменную, которая получает имя текущей категории, и добавляю ее к строке.

<?php $blockid = 'category_banner_' . preg_replace('/\s+/', '', strtolower(Mage::registry('current_category')->getName())); ?>

Затем я могу вызвать это, используя стандартный вызов статического блока

<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId($blockid)->toHtml();?>

Последнее, что нужно сделать, это создать статический блок, и пока он называется category_banner_CATEGORYNAME, он должен работать нормально.

Как я уже сказал, это немного обходной путь, но я не могу понять, как переместить тот, который установлен в админке.

Если кто-то может придумать лучшее решение, я был бы бесконечно благодарен

person Adam Hughes    schedule 27.02.2014