Tho*_*lby 6 symfony twitter-bootstrap
在创建和删除对象之后,我重定向到相同的操作(indexAction).创建之后,我想将此引导消息呈现为flash消息:
<div class="alert alert-success" role="alert">
<a href="#" class="alert-link">...</a>
</div>
Run Code Online (Sandbox Code Playgroud)
但删除后,我想渲染另一个html块:
<div class="alert alert-danger" role="alert">
<a href="#" class="alert-link">...</a>
</div>
Run Code Online (Sandbox Code Playgroud)
将此传递给Flash消息的最佳方法是什么?因为,我认为传递所有HTML不是个好主意?
$this->get('session')->getFlashBag()->add(
'notice',
'<div class="alert alert-danger" role="alert">
<a href="#" class="alert-link">...</a>
</div>'
);
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来解决这个问题?
这是我通常做的事情:
{% for type, flashes in app.session.flashbag.all %}
{% for flash in flashes %}
<div class="alert alert-{{ type }} fade in">
{{ flash }}
</div>
{% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
从控制器:
$this->addFlash('success', 'What an awesome message !');
Run Code Online (Sandbox Code Playgroud)
会创造一个 alert-success
在你的控制器中
$this->get('session')->getFlashBag()->add('info', 'info message');
Run Code Online (Sandbox Code Playgroud)
在你看来
{% for message in app.session.flashbag.get('info') %}
<div class="alert alert-info alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert">
<span aria-hidden="true">×</span>
<span class="sr-only">Close</span>
</button>
<p>{{ message }}</p>
</div>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我已经找到了更好的解决方案。
在我的控制器中:
$this->get('session')->getFlashBag()->add(
'notice',
array(
'alert' => 'success',
'title' => 'Success!',
'message' => 'New word has been added successfully.'
)
);
Run Code Online (Sandbox Code Playgroud)
这是我的观点:
{% if app.session.started %}
{% for flashMessage in app.session.flashbag.get('notice') %}
<div class="alert alert-{{ flashMessage.alert }} alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert">
<span aria-hidden="true">×</span><span class="sr-only">Close</span>
</button>
<strong>{{ flashMessage.title }}</strong> {{ flashMessage.message }}
</div>
{% endfor %}
{% endif %}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6804 次 |
最近记录: |