一度に複数のテーブルを更新するモジュール(3)概略
具体的なコードを説明する前に、変更の概略について簡単に説明します。
モジュール組み込み型モジュールのときとは違って、ほぼ actions/XxxEditAction.class.php を変更するだけで済みます。
actions/BmEditAction.class.php
- function _setupObject()
- テーブルの数だけ ObjectHandler と テーブルの Object を作成。
- function _setupActionForm()
- テーブルの数だけ ActionForm を作成。
- function getDefaultView()
- テーブルの数だけ、テーブルの Object から ActionForm に値を load。
- function executeViewInput()
- テーブルの数だけ、ActionForm と Object を template に渡す。
- function execute()
- メインの処理。テーブルの数だけ load, fetch, validate の処理を行い、問題なければトランザクションを開始して各テーブルをアップデート。
templates/bookmark_bm_edit.html
テーブル(ActionForm)の数だけ <{xoops_token}> を追加。あとはテーブルの項目に応じて修正。