2012-05-23 2 views
0

Я столкнулся с способом доступа к BLOCK-классам (из модуля) ... в файл phtml. Я мог бы в основном использовать '$ var = Mage :: blahblah ....' и получить доступ к любому блочному файлу в модуле.Magento - Доступ к классу php block из файла phtml шаблона

Я не сохранил эту stmt, теперь мне нужно использовать ее снова и не могу найти информацию, которая мне нужна.

Кто-нибудь знает, что такое статуя?

большое спасибо

ответ

1

экземпляры блоков класса могут быть созданы в любом месте, как так:

Mage::app()->getLayout()->createBlock('core/template')->...; 
//or $this->getLayout()->createBlock('core/template')->...; 
//or $this->getLayout()->getBlock('block_name_loaded_in_controller_or_layout_or...'); 
1

Для дальнейшего ответа Бен, я использовал:

$cmsBlock = Mage::getModel('cms/block')->load($blockId)->getContent(); 
if($cmsBlock) { 
    ...do stuff... 
} 

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

Основное различие в том, что:

Mage::app()->getLayout()->createBlock('cms/block')->setBlockId($blockId)->toHtml(); 

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

Смежные вопросы