現在のオブジェクトを保存するアクションごとに、ジェネレーターは成功メッセージを含むフラッシュメッセージを定義します。
ジェネレーターのアクション テンプレート内でそれらを確認できます。
$this->getUser()->setFlash('notice', $notice);
点滅メッセージは、 というテンプレート内に表示されます_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 Admin Generator ではなく Doctrine Generated Module を使用しているため、フラッシュ メッセージを使用するには、次の手順を実行する必要があります。
アクション内で、 を見つけて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') ?>