Joomler!.net - Decided on Joomla!

Wiki or Wordpress? No it is JContentPlus.

 

Archives

Blog

Demo

Home » Blog » 5分で作るExample LatestNews for Joomla!1.5
Jan
18
2010

5分で作るExample LatestNews for Joomla!1.5

EMailPrintPDF
0 votes
Written by:Joomler! 10097 hits

以前に5分で作るJoomla!モジュールとしてJoomla!1.0.x用の簡単なモジュール作成例を書いたが、今回はJoomla!1.5用です。しかも、LatestNewsモジュールとして使えるものを作成します。と書き始めたものの、長くなるかもしれないので2回くらいに分けるかもしれません。対象は、PHPとか知らなくてもコピーペーストができたらできるレベルです。

mod_example_complete

 

左が完成後の画像です。
(リストになっていますが、テンプレートの関係上リストのように見えていません。また、表示されているのはタイトルですが、いつもDummy Lipsumを使ってダミー記事を作成しているため、こうなっています。)

普通のJoomla!のLatestNews(最新ニュース)を表示するモジュールです。ですが、最終的には少し気になる点を改善していくことにします。また、少し機能を追加してみます。

完成後のファイルは、最後にダウンロードできます。

 

まずはじめに、全てのファイルをUTF-8(BOM無)で読み書きするため、それが可能なテキストエディタを用意してください。はじめから、EclipseなどのIDEを使う必要はありません。(便利ですが・・・)それと、これで5分以上かかったと言わないでください。

それでは、作業用のフォルダを一つ作成ます。今回は、Example_Moduleとでもしておきましょう。それから、Joomla!1.5ルートのmodulesフォルダ内のmod_latestnewsをフォルダごと、作業用フォルダ(Example_Module)にコピーします。そして、その作業用フォルダにコピーしたmod_latestnews以下のフォルダ名とファイル名を以下のように変更します。

mod_example_files

mod_latestnewsとなっているファイル・フォルダが、mod_exampleになっただけです。

Joomla!1.0の時と異なり、ファイルとフォルダが多いです。それぞれに役割があります。

  • xmlファイル
    これは、モジュールに限らず、プラグイン・コンポーネントにもあります。そのエクステンションのタイプや、インストールするファイル、設定値、説明などが定義されているファイルです。これが無いとインストールできません。
  • モジュール名.php
    モジュールが、表示されるとき最初に読み込まれるファイルです。これも必須です。
  • helper.php
    Joomla!1.5から追加された、名前の通りモジュールの仕事を分担されているファイルです。これは、分担させなければ無くても良い物です。
  • tmplフォルダ
    Joomla!1.5からテンプレートのオーバーライド機能が追加されていますが、そのためのテンプレートフォルダです。オーバライド機能が必要無いなら、これも必須ではありません。ですが、Nativeエクステンションとするなら表示用HTMLをこのフォルダに置いた方が良いでしょうね。
  • tmpl/default.php
    表示用のHTMLが書いてあるPHPファイルです。
  • index.html
    Joomla!には一様にフォルダ毎にこのindex.htmlが置かれています。サーバーの設定でindex.htmlが無いとファイルが一覧されてしまうとかっていうことの対策です。必須。

では、コピーができましたので変更しなきゃならない部分だけ書き換えます。

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

mod_latestnews_xml上は、書き換える前のものです。これを下の画像のように書き換えます。

mod_example_xml

サイト名などは、適宜自分に合うように変えてください。
* Tips : method=”upgrade”とinstallノードに追記しています。これを追記することで、アンインストールする事無く、上書きアップデートを可能にするために追記しています。インストール済みでも上書きインストールが可能になります。

mod_example.phpをUTF-8(BOM無し)で編集できるエディタで開きます。

mod_latestnews_php

 

上は、書き換える前。下が書き換えた後です。

mod_example_php LatestNewsをExampleに、latestnewsをexampleに変更しただけです。

helper.phpをUTF-8(BOM無し)で編集できるエディタで開きます。

mod_latestnews_helper

上は、書き換える前。下が書き換えた後です。

mod_example_helperLatestNewsをExampleに変更しただけです。

はい、完成しました。

それでは、作業用フォルダのmod_exampleを開き、その中身すべてをZipファイルに圧縮してください。名前は何でも良いです。そしてできあがったZipファイルをJoomlaの管理画面からインストールして試してみてください。また、このモジュールは、何度でもアンインストールすることなく、上書きインストール可能です。

明日は、このmod_exampleモジュールを少し改良してみます。インストールして気づかれた方もいると思いますが、このままでは、言語ファイルがありません。言語ファイルを追加したり、日時表示や改善した方が良い部分を変更してみます。

License : GPL2.0
Type : application/x-zip-co
Hits : 1865
Size : 3,886 byte

Example Module

Basic Example of LatestNews
 
All Comments Feed Comments(4)
fum
fum
Guest
Reply
1 fum
LatestNews に日時を表示させるにはどうしたらいいでしょうか?
教えて下さると助かります。

よろしくお願いいたします。
  0  
Wednesday, 06 April 2011 17:50
Joomler!
Joomler!
Total Comments : 68
Reply »1
2 Re:fum
簡単に言えば、テンプレートファイル(default.php)の$itemオブジェクトにはcontentテーブルの情報すべてが入っているので、後は表示するかしないかのことだけです。smile.png

例えば
<?php echo JHTML::_('date', $item->created, JText::_('DATE_FORMAT_LC2')); ?>
とすれば、表示されるはすです。

あとは、どんなタグで装飾するかだと思いますよ。他のモジュールも似ているところは、あるので$itemなりをvar_dump($item);などとして、中身を見てみると良いかもしれません。smile.png
  1  
Thursday, 07 April 2011 20:14
Joomler!
Joomler!
Total Comments : 68
Reply »1
3 Re:fum
$item->createdというのが、投稿日時すなわち作成日です。
  0  
Friday, 08 April 2011 06:36
Joomler!
Joomler!
Total Comments : 68
Reply »1
4 Re:fum
ごめん、helper.phpにも追加する必要がありました。
105~116のfreach文の中に以下を追加してください。

$lists[$i]->created = $row->created;
  0  
Friday, 08 April 2011 09:35

ADD A COMMENT

Subject*
:
Color Swatch




Email Link Page Code Text Align Center Text Align Justify Text Align Left Text Align Right Text Bold Text Quote Text Italic Text List Bullets Text List Numbers Text Strikethrough Text Underline World Link
Sun Unhappy Smile Evilgrin Wink Tongue Lightning Surprised Grin Rain Clouds Cloudy Snow Waii
Name*
:
EMail*
:
Please answer....
Submit Preview

JContentPlus for Joomla!1.5 powered by Joomler!.net

デル株式会社

Related Items

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.