返信する: ぶろぐコメント

対象モジュール なーお'nぶろぐ
件名 [xoops] フォーラムモジュ-ル「xcforum」製作開始
要旨 d3forumの後継フォーラム・掲示板モジュール、「xcforum」を作り始めました。 自分にはかなーりハードルが高いのですが、 facebookのグループで色々相談しながらできそうなんで、もしかしたらできるかも。  facebook内の当該スレ  それに、「factory」という、モジュール自動生成サイトがるのでこれを利用します。 で、今後の参考になるかもしれないので、できるだけメモを残しておきます。 ...


オプション

参照

Re: [xoops] フォーラムモジュ-ル「xcforum」製作開始
投稿者: なーお 投稿日時: 2012/2/11 11:09

DB操作を管理画面に移動

factoryで作ったモジュールの、DB操作を管理画面に移動する。 どうやっていいのか最初は全然わからず、迷子になって右往左往。

いくつか注意するところがあるので、メモ。

ファイル名と配置

admin/actions/
  • TablenameActionnameAction.class.php
    • factoryが作ったActionファイルを、admin内に移動。
    • クラス名の変更。途中に「Admin_」を追記。
       Class Modulename_Admin_TablenameActionname extends hogefuge
       これを忘れると、クラス見つからずリダイレクトされてしまい、どこでリダイレクトされているのか見つけるのに時間をかなり浪費する。
    • protected function _setupActionForm() のオーバーライド(アクションがEdit操作の場合)
       第3引数に「true」が返らないと、adminフォルダ内のformをロードしてくれないので、関数をオーバーライドしておく。以下の例では、予め $this->mod_isadmin にmod_admin判定値を入れておく例。
          protected function _setupActionForm()
          {
              $this->mActionForm =& $this->mAsset->getObject('form', $this->_getConst('DATANAME'), $this->mod_isadmin, $this->_getActionName());
              $this->mActionForm->prepare();
          }
admin/forms/
  • TablenameActionnameForm.class.php
  • TablenameFilterForm.class.php
admin/templates

 任意のテンプレートを使うが、actionスクリプト内の function executeViewInput にある行を以下のように直接指定に書き換え。

$render->setTemplateName('your_template_name.html');

class/handler/

  • Tablename.class.php
     このファイルは移動せず、元の位置に置いておく。