Home arrow Blog arrow Modules

12月
10
2007
5分でつくるJoomla! モジュール
diggに追加!

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分て書いても良かったかな。

 

Related Articles

タイプミスを修正しました : Frontpage Auto Update
このアップデートは、Joomla!1.5.1以下の方のみが対象です。 時すでに遅いかもしれませんが(すでに1.5.3になっているので)、タイプミスを発見しましたのでファイルを更新しました。versi...
コンポーネント作成で参考になる(シンプル): Joomla!1.5
今日も、先日ブックマークしていたもので、Joomla!1.5のシンプルなコンポーネントの作成方法を解説されているサイトをご紹介します。 「Create MVC-model-view-controll...
New QRcode for Joomla!1.5
{TR_New_BigStar} New extension : mod QRCode for Joomla!1.5. QRcodeモジュール for Joomla!1.5を公開しました ...
自分で作ったエクステンションを使っていない
テンプレートが狭くて自分で作ったエクステンションで使っていないものがある。 配布しているバージョンより古いものを使っていたりする。 配布しているものより新しいバージョンでバグを修正したものを使...
ダウンロードファイルについて
Joomler!.netでは、作成したプログラムなどを無料または有料にて配布を行っています。  配布ファイルについて すべての環境でテストしているわけではありませんの...
mod Google Video Bar モジュールをUpdateしました
Google Video Bar Module 1.5をアップデート(1.5.1)しました。 いくつかのバグを修正しました。 チャンネルか、フィードが設定されていないと正しく動かない マルチバイト...
Google Video Search Module 1.0.0
Google Search APIを利用した簡単なモジュールです。 本サイト左コラムで表示されているものと全く同じです。右画像のように表示してくれます。 内容 Google APIを使用して...
Updated to 1.0.6 : MovableType XML-RPC Plugin for Joomla!1.5
MovableType XML-RPC プラグインをアップデートしました。  内容 support full MT API MTのAPIでエラーを返さないようにしました。...
Google VideoBar Module 1.0.0
Google VideoBar モジュールです。 右の画像の用にビデオバーを表示します。ビデオプレイヤーはこのバーの上か下または、タグを書き入れることによる任意の場所に出力可能です。 ...
エクステンションについて
あらためて公開しているエクステンションについて少し。  Javascriptを利用しているエクステンション(mod Google, GreyBox Show...)では、すでに使...
テンプレートを作成していて
Joomla! 1.5.3が公開されています
PHPのチュートリアル
トップページのタイトルを変更してみました。
またですか!! : QRcode
ユーザプロフィール : Fireboard Hack?
時々サーバーに接続できないと言われる
ロシア語Joomla UTF-8を作ってみた
ログインできなくなっていました
Joomla! 1.0.14がリリースされています

joomler_kun_48.gif Blog
Joomler! Blog

for Mobile