当我在 Symfony 中保存一些数据时,我想显示一个模式窗口(Twitter Bootstrap 模式组件)。我使用doctrine:generate-module
任务来构建模块,但当我单击“保存”按钮并保存数据时不知道如何显示窗口。有什么建议吗?
编辑:从学说:generate-admin(错误)更改为学说:generate-module(正确)
当我在 Symfony 中保存一些数据时,我想显示一个模式窗口(Twitter Bootstrap 模式组件)。我使用doctrine:generate-module
任务来构建模块,但当我单击“保存”按钮并保存数据时不知道如何显示窗口。有什么建议吗?
编辑:从学说:generate-admin(错误)更改为学说:generate-module(正确)
对于保存当前对象的每个操作,生成器定义一个带有成功消息的flash消息。
您可以在生成器的操作模板中看到它们:
$this->getUser()->setFlash('notice', $notice);
Flashes 消息随后显示在名为_flashes.php
. 如果一切正常,则在操作中定义并显示通知闪光:
<div class="notice">[?php echo __($sf_user->getFlash('notice'), array(), 'sf_admin') ?]</div>
您需要做的是_flashes.php
在模板文件夹中创建一个文件并编写 javascript 以打开引导模式。就像是:
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Modal header</h3>
</div>
<div class="modal-body">
<p><?php echo __($sf_user->getFlash('notice'), array(), 'sf_admin') ?></p>
</div>
</div>
<script type="text/javascript">
$('#myModal').modal('show')
</script>
本案例仅涵盖通知消息。您还必须涵盖错误之一。
更新:
由于您使用的是 Doctrine Generated Module 而不是 Doctrine Admin Generator,因此您必须这样做才能使用闪烁消息:
在您的操作中,找到processForm
并添加通知:
protected function processForm(sfWebRequest $request, sfForm $form)
{
$notice = $form->getObject()->isNew() ? 'The item was created successfully.' : 'The item was updated successfully.';
$form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
if ($form->isValid())
{
$alumnos = $form->save();
$this->getUser()->setFlash('notice', $notice);
$this->redirect('alumnos/new');
// $this->redirect('alumnos/edit?id=' . $alumnos->getId());
}
else
{
$this->getUser()->setFlash('error', 'The item has not been saved due to some errors.', false);
}
}
然后您可以添加您之前创建的相同_flashes.php
模板并包含它(在 中newSuccess.php
,因为您在保存表单后将用户重定向到此操作):
<?php include_partial('flashes') ?>