Home arrow Blog arrow Modules

Blog

ブックマークを眺めていて(本当は整理しようと思っていたのだが、あまりにもずさんな登録方法なためあきらめた。)EarthShots.orgというサイトが登録されていた。ずっと以前だと思います。

www_earthshots_org_2008_03_spirit-of-nature-by-teresa-teixeira

 

右カラム中央付近にHTMLコードが表示されています。試してはいないがWeekly slideshowと書かれているので毎週画像が変わって表示してくれるのだと思います。どうでしょう、これでモジュールを作成されては。これなら新規モジュール作成でエディタ部分にこのHTMLコードを貼り付けてお終いです。

 

なぜか、うちのメインのパソコンで見るとFlashのTransparentが効かなくなってしまいました。別のパソコンで見ると問題ないのですが、他にも私のような方がおられるかもしれないと思いオフにしました。環境によって左右されるものは極力避けようということで。

私が作成したPagepeelは、一つのSWFで行うタイプなのでページがめくられるアニメーションの間、常に最大になっています。アニメーションが終わるとhiddenされるので良いのですけどかなり鬱陶しい。ボツにしようと思います。他にもっと良いPagepeelモジュールがあるし。・・・あたしゃ~意地でも使わないけど。・・・というか元々Paypalの暗号化の長いURLを指定できないから作ったわけですけど。それができなきゃ用がない。

ひとつの考え方としてLinuxでTransparentが効かないのをわかっていてもLinuxユーザーが自分のサイトを訪問する割合を考えて判断するという方もおられると思います。でも、Windowsで私のように効かなくなってしまっている数少ないユーザー(私だけかもしれません。)もいることを知っておいた方が良いかもしれません。ま、他のPagepeelは2つのSWFを使っている物が多いようなのでうちのみたいにかなり鬱陶しいというわけではなさそうですけどね。


さ、Flash Playerを再インストールしてみよう。

 

昨日電話を切ったあと、担当者が折り返しにすぐ電話をかけてきた。

担当者:「あの、GreyBoxで表示したらPagePeelが邪魔でWindowを閉じられないんですけど・・・。」

私:「えっ・・・あっ本当・・・。」

私:「×ボタンが見えた時に押すといける・・・・・あっ Paypalに飛んだ・・・。」

私:「まっ 良いんじゃない? 寄付してくれる人いるかもしんない・・・・・。」

担当者:「・・・。」

この担当者は、いつも私のテストに付き合っていただいている貴重な人物。

ってことでGreyBoxのz-indexを見たら100だったのでPagePeelのz-indexを90に変更し、z-indexのパラメータを作成しました。

Joomler! PagePeelモジュール(もしかしたらコンポーネントになるかも)
いずれ公開しますが、もう少し慣れないFlashで遊ばせてください。

実装済みの機能

  • 1枚の画像またはSWFで可能。
    (良いか悪いかわからないが・・・本当は2枚にしたい。)
  • Paypal対応
    (Paypalの暗号化ボタンに対応)
  • オリジナルSWF読み込みでのオリジナルクリックアクションに対応・・たぶん
    (実装しているクリックアクションをOFFにできる。)
 

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

 

quicklink_preview.jpg

 
Joomla!1.5では、管理画面上部にPreviewボタンがありますが、Joomla!1.0.xではありません。管理画面に絶えず表示されていて欲しい物のひとつですよね。Joomla! Franceで配布されている「QuickLink Preview」モジュールを使えばJoomla!1.0.xでもプレビューボタンが表示されます。

Joomla!fr のQuickLink Previewページ

 

インストールは、通常のモジュールのインストールと同じです。

インストールしたら、モジュール>管理用モジュール>Previewを開き、公開をクリックしポジションをheaderにすると管理画面上部のメニューが並んでいる位置に現れます。並び方がおかしいときは、モジュール一覧画面で順序を上げ下げすればOKです。クリックすると別ウィンドウでサイトを表示してくれます。Joomla!1.0.xでは、ログアウトしないとプレビューできないので簡単なモジュールではありますが、かなり便利です。お試しあれ。

 


joomler_kun_48.gif Blog
Joomler! Blog

for Mobile