Jan
19
2010

mod_example LatestNews に機能追加と改善を施す

Print
0 votes
Blog - Joomla! CMS, Blog - Modules
Written by:Joomler! 8949 hits

昨日は、基本的なLatestNewsベースのモジュールを作成しました。今日は、その作成したExampleモジュールに日時表示とユーザ名を表示し、言語ファイルを追加してみます。対象は、これも画像を見てコードを書ければ可能なレベルです。

mod_example_extend_complete

左が、完成後の画像です。ユーザ名と作成日が表示されています。

 

今回の目標は、わずかですがレスポンスの向上と機能の追加方法をざっと見ていきます。オリジナルのJoomla!でも十分な機能はありますが、少し工夫したいときなど簡単に実装できることが理解できると思います。

日本ではあまりエクステンションを作成している方を見かけませんが(実際にはたくさんおられると思うが)、そんなに知識がなくとも簡単に改良して機能アップ可能です。

 

まずは、昨日作成したmod_exampleには言語ファイルが無かったので言語ファイルを追加してみます。

mod_example.xmlを開きます。(UTF-8)

before_add_langfiles_example 上は、変更前のファイル。下の画像のようにlanguagesノードを書き加えます。

 

after_additional_langfiles_example

そしてmod_exampleフォルダ内に書き加えたiniファイルと同じ名前のファイルを作成します。

additional_langfiles_mod_example

あ、ひとつja-JUのファイル名が間違っています。Joomla!の場合、命名ルールがあってファイル名が間違っていると表示されなかったり、動かなかったりするので注意してください。

それぞれの言語ファイルを編集します。今回は、latestnewsのコピーと言えるものなので、その通りlatestnewsからコピーすることにします。フロントエンドのモジュールの場合、言語ファイルは、以下の場所にありますのでそこから各言語毎に新しく作成した言語ファイルに内容をコピーペーストします。たとえば、en-GB.mod_latestnews.iniからen-GB.mod_example.iniへコピーです。

Joomla ルート/languages/各言語/

* 言語ファイルは、他のファイル同様、UTF-8(BOM無し)で作成されています。対応するエディタで編集を行ってください。

ひとまず、コピーし終えたらとりあえず、言語ファイルは完了です。

次に機能の追加と改善のためにhelper.phpを開きます。UTF-8(BOM無し)
ここからは、かなり変更している部分があるので注意してください。

mod_latestnews_helper2 上が元のファイル。下が変更後です。

mod_example_helper2

変更点

次にテンプレートのdefault.phpを編集します。

mod_latestnews_default

 

 

上が元のファイルです。

mod_example_default かなり変更しています。

パラメータを追加したので管理画面から設定できるようにmod_example.xmlファイルを編集します。

latestnews_xml

上が元のmod_example.xmlのパラメータ部分です。

example_xml

今回三つのパラメータ(show_name(Athorの表示/非表示)、show_name_type(ユーザ名か名前か)、show_date(日付の表示/非表示))を追加したので設定用のパラメータを追加しました。Joomla!は、XMLファイルにこのように書くだけでパラメータを追加していけるので楽です。

さて、最後に最初に作成した言語ファイルを修正します。パラメータや、テンプレートに新たに表示されるテキストが追加されたからです。以下の言語を追記します。

SHOW AUTHOR=Show Author
YES/NO SHOW AUTHOR=Yes/No Show Author
NAME TYPE=Name Type
PLEASE SELECT NAME OR USERNAME.=Please select Name or Username.
SHOW DATE=Show Date
YES/NO SHOW DATE=Yes/No Show Date
BY %S=by %s

日本語なら

SHOW AUTHOR=作者を表示
YES/NO SHOW AUTHOR=作者の表示/非表示
NAME TYPE=名前のタイプ
PLEASE SELECT NAME OR USERNAME.=名前かユーザ名を選択してください
SHOW DATE=日付の表示
YES/NO SHOW DATE=日付の表示/非表示
BY %S=作者:%s

編集するファイルは、作成した以下のファイルです。

en-GB.mod_example.ini

ja-JP.mod_example.ini

ja-JU.mod_example.ini

追記する場所は、行のはじめに#が無い場所ならどこでも良いです。

以上で昨日作成したmod_exampleの拡張作業は終わりました。mod_exampleフォルダ内のファイル・フォルダを全選択してZip圧縮し、インストールしてください。

今回、mod_exampleとして作成しましたが、exampleの部分をお好みの名前に変更すれば、オリジナルのLatestNewsモジュールができあがります。Joomla!標準のモジュールよりレスポンスは良いはずなのでインストールして使いましょう。

今度は、プラグインの作成例を書いてみたいと思います。

License : GPL2.0
Type : application/x-zip-co
Hits : 2228
Size : 7,827 byte

Example Module Ex

Example Module of LatestNews Ex
Tags言語,部分,変更,記事,AUTHOR,日付,Joomla,表示,ファイル,作成,モジュール,example,mod,name,パラメータ,ini,編集,Show,追加,名前,DATE
 

JContentPlus for Joomla!1.5 powered by Joomler!.net