我有一个使用 jQuery UI 的 Zend Framework 应用程序。
在我的 Controller 中,我使用 FlashMessenger 助手设置错误/成功消息,如下所示:
// ExampleController.php
$this->_helper->FlashMessenger('Sorry, could not complete your request.');
在我的布局中,我使用 Noumenal FlashMessenger View Helper 显示消息
// layout.phtml
<?php echo $this->flashMessenger(); ?>
我想使用我的 jQuery UI theme's CSS styles 来设置我的错误消息的样式,如下所示:
<div class="ui-state-error ui-corner-all">
<p><span class="ui-icon ui-icon-alert"></span>
<strong>Alert:</strong> Sample ui-state-error style.</p>
</div>
...但 View Helper 正在完成所有工作,所以我无法更改我想要的类。所以在走上一条死胡同之前,我想我应该问问社区。以下是我的问题:
'error'=>'ui-state-error', 'info'=>'ui-state-highlight'
等 最佳答案
写完 Noumenal FlashMessenger View Helper 我应该可以提供帮助。 :-)
回答你的问题:
添加消息
您可以设置不同的消息级别,例如error
、 warning
等,通过将数组传递给 FlashMessenger Action Helper 而不是简单的字符串:
// ExampleController.php
$this->_helper->FlashMessenger(
array('error'=>'Sorry, could not complete your request.')
);
View 助手旨在识别这一点。
输出消息
在您的布局中输出 FlashMessages 时,您可以传递一些可选参数来指定默认消息级别(默认为
warning
)和消息模板。调整您的代码片段以考虑不同的消息级别,您可以通过在布局中进行以下调用来实现所需的结果:
// layout.phtml
$template = '<div class="ui-state-error ui-corner-all">
<p class="%s"><span class="ui-icon ui-icon-alert"></span>
<span class="flash-message">%s</span></p>
</div>';
echo $this->flashMessenger('error', $template);
(你可能会发现将模板设置为一个 View 变量会更好,比如说,你的 bootstrap 。)
执行此操作后, View 助手将根据您的意愿为您构建适当格式的 Flash 消息。
一些简单的造型
使用 CSS 将有足够的空间来适本地设置消息样式。例如:
.alert {
color: red;
}
.alert .flash-message:before {
content: "<strong>Alert</strong> ";
}
.notice {
color:yellow;
}
.notice .flash-message:before {
content: "<strong>Notice</strong> ";
}
我让你即兴发挥...
我写了一个 guide to Zend Framework FlashMessenger and the view helper on my blog 。也许读一读。也请做 email me to let me know your difficulties - 它会帮助我知道我需要改进的地方。
我希望这有帮助。
关于css - 使用 Zend Framework FlashMessenger 和 jQuery UI 状态类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1739096/