スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

sfPageFlowについて

フォームの遷移を簡単に定義し管理するプラグイン

フォームのページ遷移をymlで管理し
煩雑なフォーム処理をシンプルに構築できる。

本プラグインを使用するためには、以下の設定が必要になる。

1:pluginの設置

  (プロジェクト名)/plugins配下に、sfPageFlowディレクトリを
  コピーする。
  sfPageFlowディレクトリについては、以下より入手のこと。
  github.com/tumf/Symfony1.0_sfPageFlowPlugin

2:自動生成タスクの設置

  (プロジェクト名)/data配下にtaskフォルダーを作成し、
  以下のファイルをコピーする。

   ・myPakePropelEditGenerator.php
   ・myPakePropelListGenerator.php
   ・myPakePropelCreateGenerator.php

3:addonファイルの設置(root権限で行うこと)

  /usr/share/pear/symfony/addon/propel/generator
  配下に以下のファイルを設置する。

  ・sfPropelCrudGenerator.class.php
  ・sfPropelEditGenerator.class.php
  ・sfPropelListGenerator.class.php

4:スケルトンファイルの設置(root権限で行うこと)

  /usr/share/pear/data/symfony/generator
  配下に以下のフォルダをコピーする。

  ・sfPropelCrud
  ・sfPropelEdit
  ・sfPropelList

3,4については、root権限で転送ができるソフト(winscpなど)
を使用してコピーすること、puttyなどのターミナルソフト上で
cpコマンドを使用してのコピーでは、ファイルが置き換わらないケースがあった。


5:ヘルパーファイルの設置

  プロジェクト直下の/libにhelperフォルダを作成し、
  以下のファイルを設置

    ・MyPagerQueryHelper.php
    ・MyUtilityHelper.php

  テンプレート上でヘルパーファイルを定義する。
  <?php use_helper( "MyUtility" , "MyPagerQuery" ) ?>

6:routing.ymlの内容に、以下の内容を記述する。
  アクションとテンプレートの紐付けは、pageflow.ymlで結び付けられる。

member_edit:
  url: /member/edit/:id
  param: { module: member_edit, action: flow}
member_add:
  url:  /member/add/
  param: { module: member_add, action: flow}

7:コマンド実行

  プロジェクト配下で、以下のコマンドを実行する。

  #CREATE
  symfony propel-generate-create アプリケーション名 モジュール名 モデル名

  #EDIT
  symfony propel-generate-edit アプリケーション名 モジュール名 モデル名

  #LIST
  symfony propel-generate-list アプリケーション名 モジュール名 モデル名

  入力例
  symfony propel-generate-create backend member_add Member
  backendアプリケーション内に、member_addモジュールを定義する。
  モデル名はMemberである。モデル名=テーブル名ととらえてよい。

[使用方法]
sfPageFlowは、(モジュール名)/config/pageflow.ymlで動作を制御する。
以下はその説明である。

firstState: ProcessInitialize 最初にアクセスするところ。
lastState:  DisplayResult 最後にアクセスされるところ。

     onSuccess: ProcessSetup エラーがなければ、processSetupテンプレートへ進む。

      doInput:   ProcessValidate ボタンが押されたら、ProcessValidateテンプレートへ進む。

ProcessValidate:
    entry:
      - acceptRequests:
   params:  [nickname, mailaddress, password, admin_yn, ] フォームタグの内容。ここにないものは受け取れない。

      doConfirm: ProcessSubmit 次へ進むボタンを押したらProcessSubmitテンプレートへ進む。
      doCancel:  ProcessSetup 戻るボタンを押したらProcessSetupテンプレートへ戻る。





スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

e.swan

Author:e.swan
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。