【问题标题】:Partial View Script in FlashMessangerFlashMessanger 中的部分视图脚本
【发布时间】:2014-03-14 08:37:57
【问题描述】:

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

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

【问题讨论】:

    标签: php zend-framework2 flash-message


    【解决方案1】:

    有几种方法可以解决您所说的问题,cptnk 为您提供了一种方法。然而,视图文件中的这么多代码通常不是您想要的。幸运的是,ZF2 也提供了一种通过配置来配置相同内容的方法:

    'view_helper_config' => array(
        'flashmessenger' => array(
            'message_open_format'      => '<ul><li>',
            'message_separator_string' => '</li><li>',
            'message_close_string'     => '</li></ul>'
        )
    )
    

    很久以前我已经在the official documentation 中介绍了这一切,包括 Twitter Bootstrap 3 FlashMessenger 布局的示例。您可能想亲自检查一下。

    并且直接回答您最初的问题:不,不可能拥有一个供 flashMessenger 插件使用的专用视图文件。您必须为此编写自己的 flashMessenger 实现。

    【讨论】:

      【解决方案2】:

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

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

      这个例子创建了一个带有success 类和嵌套“p's”的div。当向setMessageOpenFormat 添加更多标签时,请确保使用setMessageCloseString 关闭它们。

      【讨论】:

        【解决方案3】:

        制作partial并将flashMessenger传递给它怎么样?

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

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

        <?php echo $this->partial('partial.phtml', array(
            'flashMassenger' => $this->flashMessenger())); ?>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-02-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-07-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多