用于禁用块输出的不同机制

  • 如果响应已经在常规渲染过程之外的响应对象上创建并设置(例如,在观察者中),则可以在动作控制器上使用“no-renderLayout”标志设置
Mage::app()->getFrontController()->getAction()->setFlag('','no-renderLayout');
  • 这可以防止 renderLayout() 处理输出块。
  • 通过在前端控制器上调用 setNoRender(true) 可以实现同样的目的:Mage::app()->getFrontController()->setNoRender(true);
  • 在响应对象上设置 isDispatched() 标志可能更有效地实现类似的效果。