注文の多いXOOPS屋 TOP現在のブログ旧スタッフblog アーカイブ
このページは 2007〜2008 年に公開していた「株式会社RYUS スタッフblog」のアーカイブです。内容は当時のものです。

symfony+sfModalBoxPluginで簡単ダイアログ

2008/05/19 12:32   sato   カテゴリ: development, PHP

satoです。
今回はsymfonyフレームワークで、簡単にダイアログボックス的なものを表示してみます。
sfModalBoxPluginを利用します。

・sfModalBoxPluginのインストール
sfPrototypePluginが必要なので、先にインストールします。


$ symfony plugin-install http:⁄⁄plugins.symfony-project.com/sfPrototypePlugin
$ symfony plugin-install http:⁄⁄plugins.symfony-project.com/sfModalBoxPlugin

細かい設定は特に必要ありません。

・ダイアログ側作成
まず、ダイアログとして表示したいactionを作成します。
apps/frontend/modules/dialogtest/actions/actions.class.php


public function executeDialog()
{
}

apps/frontend/modules/dialogtest/templates/dialogSuccess.php

<p>hello dialog box</p>
<p><a href=\"#\" onclick=\"Modalbox.hide();return false;\">close</a></p>

・呼び出し元作成
apps/frontend/modules/dialogtest/actions/actions.class.php


public function executeTest()
{
}

apps/frontend/modules/dialogtest/templates/testSuccess.php

<?php use_helper(\'ModalBox\') ?>
<?php echo m_link_to(\'show dialog\', \'dialogtest/dialog\') ?>

・実行
dialogtest/testをブラウザで表示すると、
\"\"
このような画面になります。ここで「show dialog」をクリックすると
\"\"
このような画面になります。「close」をクリックすると元の画面に戻ります。

例えばselectタグでは多すぎるような項目を選択させる際に、ダイアログを出して選択させて、選択結果をJavaScriptで元の画面に挿入するようにすると、操作性が上がると思います。
デザインの都合上、管理画面などに利用するのが向いていると思います。
actionがそのままダイアログとして利用できるのは便利だと思うので、是非試してみてください。

ModalBoxの詳しい説明は、ModalBox | Wildbitをご覧下さい。sfModalBoxPluginについてはsfModalBoxPlugin - symfony - Tracをご覧下さい。