Home arrow Extensions 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

またですか!! : QRcode
ええ、またです。ごめんなさい。 QRcodeモジュール 1.0.3 for Japaneseのファイル群がまた間違えてました。すみません。 ファイル名をmod_qrcode_1.0.31_for_...
このままいくとWEB上ですべて・・・?#02
今回は、メニューを作成してみましょう。 元のメニューは、よく見慣れたJoomla!をインストールするとデフォルトで選択されているテンプレートのメニュー(右側の画像)です。それを...
Dreamweaver用エクステンション
Joomla!のテンプレートを作成するとき便利なのが、Dreamweaver用エクステンションです。 1.0.x用 ht...
あ~またアップデートというかバグつくるなよ
  Updated to MovableType XML-RPC 1.0.5 for only Joomla!1.5 changed: fix : date fix : delete fix...
いやあ~ほんとごめんなさい
joomlaeasy.netさんにご迷惑かけちゃいました。 私の勘違いで・・・ 「正常に動いているのに動いていないと思いこんでいました。」 てっきり画像がGreyBoxで表示されるものだと思いこんでし...
Web Links
ここではJoomla! Powerd Sitesをご紹介しています。※説明文は、リンク先サイトのmeta descriptionです。 このサイトは、CMS(コンテンツ・マネジメント・システム)で...
Autodetect of Blogtype : MovableType XML-RPC
RSDとは、サービスがどういうものでどこのリンクからですよ。みたいに明示する物と考えてもらったら良いでしょうか。RSDファイルをサイトに設定することでブログエディタにブログタイプや、XML-RPCのエ...
Prism0.9がリリースされていた : mozilla Labs
以前の記事「Joomla!のバックエンドをPrismで開く」で書いたように私は、Prismを使用してGoogle ReaderやphpMyAdmin、Joomla!の管理画面などを登録していつも使っ...
よりセキュアにJoomla!
linux.comで「Securing Joomla! installations」という記事がありました。 簡単に PHP4かPHP5を使用する。 ディレクトリは、chmod 755にファイル...
Google Custom Search について
旧バージョン(1.0.0)から1.1.xにアップグレード後、環境によっては検索結果が表示されないなどの問題があるようです。それは、Javascriptのコンフリクトが原因かと思われます。 これは、確...
Google AJAX APIs
extensions.joomla.orgがアップデートされていますよ
htaccessを作成するオンラインツール
ファイルやメモ用にWordPress
Joomla!1.5の最新リビジョンで異なるDatabase Charsetを試してみた
mod Google Video Bar モジュールをUpdateしました
mod QRcodeをアップデートしました : for Japanese
QRcode Module を作成してみました
SQLインジェクション解析 その後:iLogScanner IPA
日時の文字化け

C_square_trans.png Components
Joomla! Extensions
M_square_trans.png Modules
Joomla! Extensions
P_square_trans.png Plugins
Joomla! Extensions
a_delphi.gif Delphi for PHP
Delphi for PHP related

for Mobile