有没有办法将部分视图脚本解析为 Flash 消息?
我正在使用一些带有 html 代码块的大型 flash 消息,并且读取或格式化这些消息的能力非常糟糕。
有没有办法将部分视图脚本解析为 Flash 消息?
我正在使用一些带有 html 代码块的大型 flash 消息,并且读取或格式化这些消息的能力非常糟糕。
有几种方法可以解决您正在谈论的问题,cptnk 为您提供了一种方法。然而,视图文件中的这么多代码通常不是您想要的。幸运的是,ZF2 也提供了一种通过配置来配置相同内容的方法:
'view_helper_config' => array(
'flashmessenger' => array(
'message_open_format' => '<ul><li>',
'message_separator_string' => '</li><li>',
'message_close_string' => '</li></ul>'
)
)
很久以前,我在官方文档中已经涵盖了这一切,包括 Twitter Bootstrap 3 FlashMessenger 布局的示例。您可能想亲自检查一下。
并直接回答您最初的问题:不, flashMessenger 插件不可能使用专用的视图文件。您必须为此编写自己的 flashMessenger 实现。
您是否查看了视图助手提供的 html 布局?
echo $this->flashMessenger()
->setMessageOpenFormat('<div%s><p>')
->setMessageSeparatorString('</p><p>')
->setMessageCloseString('</p></div>')
->render('success');
此示例创建一个带有类success
和嵌套“p”的 div。向 中添加更多标签时,请setMessageOpenFormat
确保使用 . 关闭它们setMessageCloseString
。
如何制作 partial 并将 flashMessenger 传递给它?
<?php // partial.phtml ?>
flashMassenger: <pre><?php var_dump($this->flashMassenger) ?></pre>
然后,您将使用以下命令从您的视图脚本中调用它:
<?php echo $this->partial('partial.phtml', array(
'flashMassenger' => $this->flashMessenger())); ?>