「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」の続編にあたり、PHPの「データ構造」(配列とオブジェクト)について解説します。
配列やオブジェクトは、頭の中で考えるだけでは、イメージがつかみにくいです。本書では図を多用して、配列やオブジェクトをなるべく分かりやすく解説することを心がけました。
Kindle本で、定価250円です。
SOY CMSのプラグインを作ってみた
SOY CMSは、他の多くのCMSと同様に、プラグインで機能を拡張することができます。
試しに、ごく簡単なプラグインの例として、「現在日時を表示する」というプラグインを作ってみました。
1.プラグインのインストール
プラグインは以下からダウンロードすることができます。
ダウンロードしたファイルを解凍すると、「current_time」というフォルダができます。
このフォルダを、SOY CMSのインストール先ディレクトリの「common」→「site_include」→「plugin」ディレクトリの中にアップロードします。
この後、SOY CMSにログインして「プラグイン」のタブを開くと、「アクティブでないプラグイン」の一覧の中に、「現在日時表示」が表示されます。
そのプラグインのアイコンをクリックすると、プラグインの設定を行うページが表示されます。
「このプラグインを使用する」のボタンをクリックすると、プラグインが有効になります。
2.テンプレートの書き方
テンプレートの中に以下のように書くと、その位置に現在の日時が表示されます。
「フォーマット文字列」には、PHPのdate関数で使うフォーマット文字列を指定します。
<pなど cms:plugin="currenttime" cms:format="フォーマット文字列"></pなど cms:plugin="currenttime">
例えば、以下のように書くと、p要素の内部に「2009年7月18日 12時34分56秒」のような書式で、現在の日時を出力することができます。
<p cms:plugin="currenttime" cms:format="Y年m月d日 H時i分s秒"></p cms:plugin="currenttime">
また、出力をHTMLのタグで囲まず、結果だけを出力したい場合は、以下のように書くこともできます。
<!-- cms:plugin="currenttime" cms:format="フォーマット文字列" /-->
なお、「cms:format=""」として、フォーマット文字列を空文字列にすると、「Y/m/d」のフォーマット文字列を指定したのと同じになります。
3.プラグインを作った感想
今のところ、プラグイン開発についての情報は、SOY CMS開発ブログの以下の記事で公開されています。
これらの情報はごく基本的な話で、今回作ったプラグインを作るのがやっとというところです。
複雑なプラグインを作るには、まだまだ情報が不足しています。
今後の情報公開に期待したいです。
それから、今のプラグインの書き方だと、属性値を省略した時に、デフォルトの属性値を使うようなことができないようです。
例えば、このプラグインなら、以下のような書き方をしたときに、cms:format属性にデフォルトの値を指定したものとして扱うようにしたいところですが、それはできないようでした。
<p cms:plugin="currenttime"></p cms:plugin="currenttime">
もし、現状で上にあげたような仕様なのだとしたら、使いにくいと思いますので、ぜひ改善していただきたいです。
また、何か良いやり方があるなら、その情報をぜひ公開していただきたいです。