はじめてのモジュール
投稿者: xpscb | 投稿日時: 2009-2-16 16:44 | 閲覧: 7419回
OS : Debian etch
MySQL: 5.1
PHP : 5.2.0
はじめまして、今回はじめてモジュールの開発にトライしようとしています。
XOOPS Cube 2.1.6 はつい先週インストールして、
公開モジュールは、
基本モジュールと, altsys, inquirysp, pico,d3forum, wizmobile をインストールしてあります。
まずは下のHPを参考に、初歩から学ぼうとしています。( Hello world 表示 )
http://www.xoops-ri.jp/module+index.content_id+4.htm#
このHPのとおり、
./language/japanese/main.phpの内容
define('_HW_HELLOWORLD', 'こんにちは');
?>
./templates/hw_index.htmlの内容
./index.php にて
// テンプレートファイルに値を割り当てる
$xoopsTpl->assign('value', _HW_HELLOWORLD);
そして、下のエラーがでます。
Notice [PHP]: Use of undefined constant _MI_HW_MODNAME - assumed '_MI_HW_MODNAME' in file modules/hw/xoops_version.php line 2
Notice [PHP]: Use of undefined constant _HW_HELLOWORLD - assumed '_HW_HELLOWORLD' in file modules/hw/index.php line 13
「こんにちは」は表示されません。
Use of undefined constant _MI_HW_MODNAME... から考えると、xoops_version.php から ./language/japanese/modinfo.php
を読みに行ってないのかと思いますが、
./language/japanese/modinfo.php を読みに行かれない根本的な原因はどんなことでしょうか?
お分かりになる方、ご教授お願いします。
MySQL: 5.1
PHP : 5.2.0
はじめまして、今回はじめてモジュールの開発にトライしようとしています。
XOOPS Cube 2.1.6 はつい先週インストールして、
公開モジュールは、
基本モジュールと, altsys, inquirysp, pico,d3forum, wizmobile をインストールしてあります。
まずは下のHPを参考に、初歩から学ぼうとしています。( Hello world 表示 )
http://www.xoops-ri.jp/module+index.content_id+4.htm#
このHPのとおり、
./language/japanese/main.phpの内容
define('_HW_HELLOWORLD', 'こんにちは');
?>
./templates/hw_index.htmlの内容
./index.php にて
// テンプレートファイルに値を割り当てる
$xoopsTpl->assign('value', _HW_HELLOWORLD);
そして、下のエラーがでます。
Notice [PHP]: Use of undefined constant _MI_HW_MODNAME - assumed '_MI_HW_MODNAME' in file modules/hw/xoops_version.php line 2
Notice [PHP]: Use of undefined constant _HW_HELLOWORLD - assumed '_HW_HELLOWORLD' in file modules/hw/index.php line 13
「こんにちは」は表示されません。
Use of undefined constant _MI_HW_MODNAME... から考えると、xoops_version.php から ./language/japanese/modinfo.php
を読みに行ってないのかと思いますが、
./language/japanese/modinfo.php を読みに行かれない根本的な原因はどんなことでしょうか?
お分かりになる方、ご教授お願いします。
コメント(4)
新しいものから |
古いものから |
ネスト表示 |
Re: はじめてのモジュール
Re: はじめてのモジュール
投稿者: suin | 投稿日時: 2009-2-17 8:35
言語ファイル(/language/japanese/以下)には必要に応じて4つのファイルを作る必要があります。
・modinfo.php → xoops_version.phpなどで使う言語定数を定義するのに使用
・main.php → モジュールのロジックで使用する言語定数を定義
・admin.php → モジュールの管理画面で使用する言語定数を定義
・block.php → モジュールのブロックで使用する言語定数を定義
Notice [PHP]: Use of undefined constant _MI_HW_MODNAME - assumed '_MI_HW_MODNAME' in file modules/hw/xoops_version.php line 2
はxoops_version.phpでmodinfo.phpでの定義忘れを警告しているので、modinfo.phpに_MI_HW_MODNAME が定義されているか見直してみてください。
あと他によくある定義ミスとしては、言語ファイル自体を作るのを忘れてしまうケースです。
開発環境のXOOPSの言語コードがEUC-JPの場合は、japaneseでいいのですが、
最近はホダ塾ディストリビューションなどがUTF-8をサポートしているので、もしXOOPSの言語コードがUTF-8の場合は、
japaneseとは別に、ja_utf8フォルダを作らないといけません。
ちなみにUTF-8の環境で(UTF-8に限ったことではないですが)、/language/ja_utf8/もなく、/language/english/もなければ、XOOPSは言語ファイルを探すのをあきらめます。
・modinfo.php → xoops_version.phpなどで使う言語定数を定義するのに使用
・main.php → モジュールのロジックで使用する言語定数を定義
・admin.php → モジュールの管理画面で使用する言語定数を定義
・block.php → モジュールのブロックで使用する言語定数を定義
Notice [PHP]: Use of undefined constant _MI_HW_MODNAME - assumed '_MI_HW_MODNAME' in file modules/hw/xoops_version.php line 2
はxoops_version.phpでmodinfo.phpでの定義忘れを警告しているので、modinfo.phpに_MI_HW_MODNAME が定義されているか見直してみてください。
あと他によくある定義ミスとしては、言語ファイル自体を作るのを忘れてしまうケースです。
開発環境のXOOPSの言語コードがEUC-JPの場合は、japaneseでいいのですが、
最近はホダ塾ディストリビューションなどがUTF-8をサポートしているので、もしXOOPSの言語コードがUTF-8の場合は、
japaneseとは別に、ja_utf8フォルダを作らないといけません。
ちなみにUTF-8の環境で(UTF-8に限ったことではないですが)、/language/ja_utf8/もなく、/language/english/もなければ、XOOPSは言語ファイルを探すのをあきらめます。
Re: はじめてのモジュール
Re: はじめてのモジュール


