• カテゴリ 開発用メモ の最新配信
  • RSS
  • RDF
  • ATOM

ブログ - 開発用メモカテゴリのエントリ

XCL モジュール設計情報

カテゴリ : 
開発用メモ » XCL開発資料
執筆 : 
masa 2008/8/10
XoopsModule, Legacy_AbstractModule などの関係についての資料を発見

http://homepage.mac.com/minahito/japanese/index_files/2d89715a772e44a5ed4310503b7f0921-120.html

こんなにいいドキュメントがあったのだね。
XoopsModuleは XOOPS2 由来のものなんだね。
そうかぁ...Cubeでもこれを引き継ぐということなのかな?
それとも互換性のため?

歴史を知らないとこういうときに困るなぁ...
もっと勉強しなくちゃ。

同様に BlockProcedure の設計資料も下記に

http://homepage.mac.com/minahito/japanese/index_files/1cbdd5a94ab4a57dffcc3a9d6f142758-122.html
  • トラックバック (0)
  • 閲覧 (3957)

XC コントローラの差し替え

カテゴリ : 
開発用メモ » XCL開発資料
執筆 : 
masa 2008/8/10
settings/site_custom.ini.php または
settings/site_default.ini.php


[Cube]
Controller=XXXX_Controller



[XXXX_Controller]
root=
path=
class=

root= には XOOPS_ROOT_PATH などの定数が指定できる
path= root 以降のパス
class=クラス名
  • トラックバック (0)
  • 閲覧 (3182)

Cube モジュール解析

カテゴリ : 
開発用メモ » XCL開発資料
執筆 : 
masa 2008/8/7
■XoopsModule (kernel/module.php)
Cube のモジュール情報クラス
xoops_version.php から初期生成され、データベースに格納される?

...続きを読む

  • トラックバック (0)
  • 閲覧 (3784)
include/version.php に書いてある


<?php

define("XOOPS_VERSION", "XOOPS Cube Legacy 2.1.4");

?>
  • トラックバック (0)
  • 閲覧 (3733)

XCL ブロック開発

カテゴリ : 
開発用メモ » XCL開発資料
執筆 : 
masa 2008/7/27
XCL流のブロック開発はクラスを使ったもの?

■従来のブロック定義
xoops_version.phpの定義
(modules/legacy/admin/class/ModuleInstallUtils.class.php参照)

...続きを読む

  • トラックバック (0)
  • 閲覧 (4444)
■従来のインストール&アップデート機能の定義

xoops_version.php に下記を定義する。

$modversion['onInstall'] = 'oninstall.php';
$modversion['onUpdate'] = 'onupdate.php';
$modversion['onUninstall'] = 'onuninstall.php';

...続きを読む

  • トラックバック (0)
  • 閲覧 (4811)
いつも忘れては昔のコードを探ったりするので、書いておこう。


<assign var=signal value=","|split:"青,黄,赤">


という感じ...
そのまま直接使うこともできる

<foreach item=i from=","|split:"1,2,3">


元ネタは http://d.hatena.ne.jp/studio-m/20070512/1178978926 から
ありがとうございます。


[追記]
Web上には色々考える人がいるのですね...
http://d.hatena.ne.jp/fbis/20100928/1285657357
確かに文字列配列しか使えないのは困るときがあるよね...

コードを追加したくなかったから上のようにしているのだけれど、
XCLならコアに近い部分にこういうのを忍ばせておくことも出来るし、結構いいかも。
Merci!!
  • トラックバック (0)
  • 閲覧 (26859)

XCL モジュール開発 admin

カテゴリ : 
開発用メモ » XCL開発資料
執筆 : 
masa 2008/7/12
XCL流モジュール開発で管理者メニューを作る場合。


xoops_version.php に
$modversion['hasAdmin'] = 1;
が必要

--------

■クラス定義
class/Module.class.php ファイルの中に
Dirname_Module extends Legacy_ModuleAdapter
(または extends Legacy_AbstractModule ?)
クラスが必要

クラスメソッドとして以下のものを記述
public function getAdminMenu()


■D3 (not class)
adminmenu="admin_menu.php"
$adminmenu4altsys (??)

■D3対応への考察
Legacy_Utils::createModule()ではクラスファイルを
modules/${dirname}/class/Module.class.php としているので、このままでは公開側にproxyファイルを必要とする。
同様にモジュールクラス名も
ucfirst(モジュールディレクトリ名)."_".'class名'
という形なので、複製に対応できない...


Legacy_Utils::createModule() にはデリゲート「Legacy_Utils.CreateModule」が設定されている。
ここでオーバーライドすれば複製対応が可能と思われる。

■altsysメニューへの対応...
  • トラックバック (0)
  • 閲覧 (6870)
altsys [0.58] の便利な機能
おすすめ度:★★★★★
モジュール開発には必須

開発をしている際には頻繁にテンプレートを修正する。
このとき修正したテンプレートを毎回DBテンプレートに反映したり、DBテンプレートを直接修正するのは大変だ。

altsys [0.58] の機能を使えば、モジュールのテンプレートを修正した際に自動でDBテンプレートを更新することができる。

...続きを読む

  • トラックバック (0)
  • 閲覧 (5164)

XCL DBアクセス

カテゴリ : 
開発用メモ » XCL開発資料
執筆 : 
masa 2008/6/25
■db 取得の仕方
(1) $db = $xoopsDB;
(2) $db = & XoopsDatabaseFactory::getDatabaseConnection();
(3) $db = $root->mController->getDB();

個人的には(3)がいいかなぁ...

■クラス XoopsMySQLDatabase

...続きを読む

  • トラックバック (0)
  • 閲覧 (5000)