氷川 XOOPS 研究室

モジュール制作、ウェブサービスなどなど

調整その1 anchor.png

前回作成したモジュールのうち何箇所かはそのままでは使えませんので、今回はモジュール作成後の調整を解説します。

Page Top

Default Action Name anchor.png

モジュールのトップ(例:/modules/bookmark/ など)にアクセスした場合、どの画面を表示するか(どの機能が呼ばれるか)は、/class/Module.class.php で指定しています。

Cubson が出力したコードではこの部分に "Default" という存在しないアクションが指定されているため、モジュールのトップにアクセスすると、サイトのトップまで戻されてしまいます。

  • /class/Module.class.php
    function execute(&$controller)
    {
        if ($this->mActionName == null) {
            $this->mActionName = xoops_getrequest('action');
            if ($this->mActionName == null) {
                $this->mActionName = "Default";
            }
        }
    (後略)

この "Defalt" となっている部分を変えることで、モジュールのトップにアクセスしたときに表示する画面を制御することができます。

ところで、Cubson でモジュールを作ると、テーブルに対する「編集」「一覧表示」「詳細表示」「削除」の4つの機能(アクション)を生成してくれますが、これらの機能を呼び出すには、URLの中で以下のような引数を "action=" に加えます。

"テーブル名" + "アクションの種類"

"テーブル名" は、prefix を除いたテーブル名で、頭1文字目を大文字にします。

"アクションの種類" は、以下のとおりです。

  • 編集: "Edit"
  • 一覧表示: "List"
  • 詳細表示: "View"
  • 削除: "Delete"

たとえば、テーブル "ad1ud9_bookmark_bm" を「編集」であれば、"BmEdit"、テーブル "ad1ud9_bookmark_tag" を「詳細表示」であれば "TagView" となります。

したがって、URL は、

  • {XOOPS_URL}/modules/bookmark/index.php?a​ction=BmEdit
  • {XOOPS_URL}/modules/bookmark/index.php?a​ction=TagView
    のようになります。

そして、先ほどの "Default" を、"action=" の引数に書き換えます("BmEdit"や"TagView"など)。

  • /class/Module.class.php
function execute(&$controller)
{
    if ($this->mActionName == null) {
        $this->mActionName = xoops_getrequest('action');
        if ($this->mActionName == null) {
            $this->mActionName = "BmEdit";
        }
    }

(後略)

この例では、モジュールのトップにアクセスすると /modules/bookmark/index.php?action=BmEdi​t が呼び出されることになります。


Front page   Freeze Diff Backup Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Counter: 3778, today: 2, yesterday: 2
Last-modified: 2008-08-27 (Wed) 16:49:58 (JST) (4011d) by kilica

Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project - xc-tokai