Joomler!.net - Decided on Joomla!

Jboard is Multiple Board!

 

Archives

Blog

Demo

Home » Blog » mod_latestnews.php
5 votes
Written by:Joomler! 37109 hits Monday, 10 December 2007 17:08

Joomla!のエクステンションで一番簡単に作成できるのがモジュールだと思います。もちろん、複雑な処理をするものも作成できるのですが簡単なものならすぐにできます。簡単なモジュールを作ってみましょう。

用意するもの

  • テキストエディタ
    PHPコードとXMLをUTF-8(BOMなし)で書けるものなら何でも良い。

mod_example.jpg<h1>Joomla! Module</h1>と出力するだけのmod_example.phpを作成します。
(右ができあがりイメージ)

1.テキストエディタで新規作成し、適当な場所にmod_example.phpと名前をつけて(UTF-8のBOMなし)で保存してください。

2.1.と同様mod_example.xmlを作成してください。

3.現在あるモジュールを開いてみる。たとえば、mod_latestnews.phpを開く。

目につくのは、

// no direct access
defined( '_VALID_MOS' ) or die( 'Restricted access' );

これは、直接このファイルにアクセス(http://yoursite.com/modules/mod_latestnews.php)してもこのファイルを見ることができないようにします。これは必要です。

作成したmod_example.phpに


<?php

// no direct access
defined( '_VALID_MOS' ) or die( 'Restricted access' );

?>

と書きます。コピーペーストでOK。

4.?>の後で改行して

<h1>Joomla! Module</h1>

と書きます。

5.mod_examlple.xmlにmod_latestnews.xmlの内容をすべてコピーします。
(コピーが一番簡単に作成できる方法です。)

変更必須のところ

  • <filename module="mod_xxxxxxxx">mod_xxxxxxxx.php</filename>

ここだけです。他は、名前が重複したりしても構わないならそのままでOK。

<filename module="mod_example">mod_example.php</filename>

モジュール名を考えるとき(プラグインもコンポーネントも同じ)大文字を使わないでください。大文字を使っても呼び出されるのは、小文字の名前で呼び出されます。

6.完成しました。え!

mod_example.php


<?php

// no direct access
defined( '_VALID_MOS' ) or die( 'Restricted access' );

?>

<h1>Joomla! Module</h1>


mod_example.xmlは、mod_latestnews.xmlの内容を一行変更しただけ。

<filename module="mod_example">mod_example.php</filename>

7.作成したmod_example.phpとmod_example.xmlをそのままzip圧縮します。
(二つのファイルを選択して圧縮)

8.インストールして公開。
xmlファイルのname部分を変えていないのでlatest newsという名前のモジュールが二つあるはずです。公開されていない方が今回作成したmod_exampleなので注意してください。

今回はmod_latestnewsをそのまま流用しましたが、パラメータの受け渡しを説明したかったからです。

インストールしたmod_example.phpの<?php ~ ?>の間に下記の行を加えてください。

var_dump($params);

ページを開くとどのようにパラーメータが保持されているかわかります。

パラメータ(設定値)を呼ぶ。

$params->get( 'パラメータ名', デフォルト値 );

または、

$params->get( 'パラメータ名' );

など。

パラメータの指定方法は、xmlファイルをみればわかるでしょう。

今回は、ただ出力するだけのものを作成してみました。 う~んこれなら1分て書いても良かったかな。

 

JContentPlus for Joomla!1.5 powered by Joomler!.net

デル株式会社
joomler.net is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla!(R) name is used under a limited license from Open Source Matters in the United States and other countries.
joomler.net is not affiliated with or endorsed by Open Source Matters or the Joomla! Project.