ホーム > フォーラム > 質問箱 > XCL2.1.6 > はじめてのモジュール

はじめてのモジュール
投稿者: xpscb | 投稿日時: 2009/2/16 16:44 | 閲覧: 10362回
xpscb
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 を読みに行かれない根本的な原因はどんなことでしょうか?


お分かりになる方、ご教授お願いします。

コメント(4)

新しいものから | 古いものから | ネスト表示 | RSS feed
Re: はじめてのモジュール 
投稿者: kvex | 投稿日時: 2009/2/17 4:19
kvex
おこなった手順の中にmodinfo.phpを作る行程がありませんが、単に省略して書いただけなのか、本当に作り忘れてるか、どうでしょう?
Re: はじめてのモジュール 
投稿者: suin | 投稿日時: 2009/2/17 8:35
suin
言語ファイル(/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は言語ファイルを探すのをあきらめます。
Re: はじめてのモジュール 
投稿者: xpscb | 投稿日時: 2009/2/17 10:46 | 親コメント: #19518
xpscb

おこなった手順の中にmodinfo.phpを作る行程がありませんが、単に省略して書いただけなのか、本当に作り忘れてるか、どうでしょう?


省略していました。紛らわしくてすいませんでした。
Re: はじめてのモジュール 
投稿者: xpscb | 投稿日時: 2009/2/17 11:04 | 親コメント: #19519
xpscb
suinさんの言うとおりUTF-8の環境です。
ja_utf8を作っていませんでした。

こんなに詳しく書いていただいて、ありがとうございました。

これでやっと先に進めます。

本当に、感謝です。

    投票(0)

    新しいものから | 古いものから | RSS feed
     
    To Top