一度に複数のテーブルを更新するモジュール(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}> を追加。あとはテーブルの項目に応じて修正。