0

有没有办法将部分视图脚本解析为 Flash 消息?

我正在使用一些带有 html 代码块的大型 flash 消息,并且读取或格式化这些消息的能力非常糟糕。

4

3 回答 3

3

有几种方法可以解决您正在谈论的问题,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 实现。

于 2014-03-14T09:04:16.070 回答
2

您是否查看了视图助手提供的 html 布局?

echo $this->flashMessenger()
  ->setMessageOpenFormat('<div%s><p>')
  ->setMessageSeparatorString('</p><p>')
  ->setMessageCloseString('</p></div>')
  ->render('success');

此示例创建一个带有类success和嵌套“p”的 div。向 中添加更多标签时,请setMessageOpenFormat确保使用 . 关闭它们setMessageCloseString

于 2014-03-14T08:56:25.847 回答
1

如何制作 partial 并将 flashMessenger 传递给它?

<?php // partial.phtml ?>

flashMassenger: <pre><?php var_dump($this->flashMassenger) ?></pre>

然后,您将使用以下命令从您的视图脚本中调用它:

<?php echo $this->partial('partial.phtml', array(
    'flashMassenger' => $this->flashMessenger())); ?>
于 2014-03-14T10:32:08.980 回答