TinyD プラグイン TinyD プラグインを使う 龍司さんが、「 TinyD 表示プラグイン」を公開されていた。 ところがその後、 TinyD デフォルトのディレクトリ名が変更された為、 最新の TinyD に、完全には対応できなくなった。 最新の TinyD にも対応出来るように変更してみた。 一応、龍司さんのバージョンと互換性あり。 Malaika System よりダウンロード出来る。 /class/smarty/plugins/  に入れておく。 <{ tinyD dir=“ (tinyD ディレクトリ名 ) ” id=“ (tinyD コンテンツ ID) ” }> 使い方 <{ tinyD dir=“ tinyd1 ” id=“ 20 ” }> 記述例
TinyD をテーマに使う ( テーマ ) テーマに適用 更新が楽になる ヘッダーのロゴやバナーなどを頻繁に変更したい 使用例  http://yours.tcp-ip.or.jp/
TinyD をテーマに使う ( テンプレート ) 使用例  http://www. kasugai-komaki . jp /modules/ xoopsfaq / テンプレートに適用 コンテンツ管理が楽になる 注意書きなどを表示 別のコンテンツを割り込ませる
xoops_block プラグイン Xoops_block  プラグイン   「どこでもブロック」プラグイン ? (^^ ゞ テーマ・テンプレートなどの Smarty レベル上であれば、 どこでもブロック関数を呼び出して表示できる。 テーマの通常のブロック表示エリア以外(ヘッダー・フッターなど)にも ブロックを呼び出し表示できる。 ブロックのテンプレートに使えば、ニコイチブロックが出来る。 コンテンツの中に、ブロックを表示する事も可能になる。 ブロック関数を呼出し、 Smarty 変数にアサインしてるだけ 自由にレイアウト可能 上級者向けではあるが、使いこなせれば超強力                        ・・・・・・かも (^^ ゞ
xoops_block プラグイン(使い方 1 ) 記述方法1 モジュールディレクトリを指定する方法 <{ xoops_block  mod=“ モジュールディレクトリ名 ”  func=“ ブロック関数名 ”         opt=“ 関数の引数 ( 必要に応じて ) &quot; assign=&quot; テンプレートアサイン名 &quot;}>  <{ xoops_block  mod=&quot; news &quot; func=&quot; b_news_top_show &quot;         opt=“ published,10,50 ” assign=“ newsblock ”}>  <{* テンプレートからコピーして、アサイン名だけ変更すれば OK ! *}> <ul> <{foreach item=news from= $newsblock .stories}>   <li><a href=&quot;<{$xoops_url}>/modules/news/article.php?storyid=<{$news.id}>&quot;> <{$news.title}></a> (<{$news.date}>)</li> <{/foreach}>  </ul>
xoops_block プラグイン(使い方2) 記述方法2 ブロック関数が記述されたファイルを直接指定する方法 <{ xoops_block  file=“ ブロック関数が記述されたファイル ”  func=“ ブロック関数名 ”        opt=“ 関数の引数 ( 必要に応じて ) &quot; assign=&quot; テンプレートアサイン名 &quot;}>  <{ xoops_block   file =“ modules/news/block/news_top.php &quot; func=&quot; b_news_top_show &quot;         opt=“ published,10,50 ” assign=“ newsblock ”}>  <{* テンプレートからコピーして、アサイン名だけ変更すれば OK ! *}> <ul> <{foreach item=news from= $newsblock .stories}>   <li><a href=&quot;<{$xoops_url}>/modules/news/article.php?storyid=<{$news.id}>&quot;> <{$news.title}></a> (<{$news.date}>)</li> <{/foreach}>  </ul>  [ 裏技 ]   ブロック関数の記述ルールに沿っていれば、独自関数も使用できる。 <{ xoops_block   file =“ myfunction .php &quot; func=“ my_xxxx_show &quot; assign=“ myblock ”}>
xoops_block プラグイン(使用例1) テーマのヘッダーに使用する  http://www.xc-tokai.com/ メインメニューを表示  +  ログインフォームを表示 <{ xoops_block  mod=“ system ” func=“ b_system_user_show ” assign=“ loginblock ”}>    中略 User:<input type=&quot;text&quot; name=&quot;uname&quot; size=&quot;10&quot; value=&quot;<{ $loginblock.unamevalue }>&quot;  /> Pass:<input type=&quot;password&quot; name=&quot;pass&quot; size=&quot;10&quot;  />    中略 <{ xoops_block  mod=“ system ” func=“ b_system_main_show ” assign=“ ex_mainmenu ”}> <{foreach item=module from= $ex_mainmenu. modules }>  <a href=“<{$xoops_url}>/modules/<{$module.directory}>/”><{$module.name}></a> |  <{/foreach}>
xoops_block プラグイン(使用例2) ブロックの中に別のブロックを表示 http://www.kasugai-komaki .jp/ piCal ミニカレンダーを表示する <{ xoops_block  mod=&quot; piCal &quot; func=&quot; pical_mini_calendar_show &quot; assign=&quot; piCal_miniCal &quot;}> <{ $piCal_miniCal.content }>
Xoops_block プラグイン(使用例3) 独自の関数を使う ニュースの新着記事をトップページに表示 Spotlight ブロックもどきの関数を自作する  ( 例: my_newsitem) その独自ファイルを指定して呼び出す  ( 例: myfunction.php) <{ xoops_block  file=“ myfunction.php &quot; func=&quot; my_newsitem “ opt=&quot; 128 &quot; assign=&quot; mynew &quot;}> <div class=&quot;item&quot;><div class=&quot;itemHead&quot;><span class=&quot;itemTitle&quot;> <a href=&quot;<{$xoops_url}>/modules/news/article.php?storyid=<{$mynews.storyid}>&quot;> <{$mynews.title}></a>  </span></div>     以下略

2005 11 29_template_customize_seminer_04

  • 1.
    TinyD プラグイン TinyDプラグインを使う 龍司さんが、「 TinyD 表示プラグイン」を公開されていた。 ところがその後、 TinyD デフォルトのディレクトリ名が変更された為、 最新の TinyD に、完全には対応できなくなった。 最新の TinyD にも対応出来るように変更してみた。 一応、龍司さんのバージョンと互換性あり。 Malaika System よりダウンロード出来る。 /class/smarty/plugins/ に入れておく。 <{ tinyD dir=“ (tinyD ディレクトリ名 ) ” id=“ (tinyD コンテンツ ID) ” }> 使い方 <{ tinyD dir=“ tinyd1 ” id=“ 20 ” }> 記述例
  • 2.
    TinyD をテーマに使う (テーマ ) テーマに適用 更新が楽になる ヘッダーのロゴやバナーなどを頻繁に変更したい 使用例 http://yours.tcp-ip.or.jp/
  • 3.
    TinyD をテーマに使う (テンプレート ) 使用例 http://www. kasugai-komaki . jp /modules/ xoopsfaq / テンプレートに適用 コンテンツ管理が楽になる 注意書きなどを表示 別のコンテンツを割り込ませる
  • 4.
    xoops_block プラグイン Xoops_block プラグイン   「どこでもブロック」プラグイン ? (^^ ゞ テーマ・テンプレートなどの Smarty レベル上であれば、 どこでもブロック関数を呼び出して表示できる。 テーマの通常のブロック表示エリア以外(ヘッダー・フッターなど)にも ブロックを呼び出し表示できる。 ブロックのテンプレートに使えば、ニコイチブロックが出来る。 コンテンツの中に、ブロックを表示する事も可能になる。 ブロック関数を呼出し、 Smarty 変数にアサインしてるだけ 自由にレイアウト可能 上級者向けではあるが、使いこなせれば超強力                        ・・・・・・かも (^^ ゞ
  • 5.
    xoops_block プラグイン(使い方 1) 記述方法1 モジュールディレクトリを指定する方法 <{ xoops_block mod=“ モジュールディレクトリ名 ” func=“ ブロック関数名 ”        opt=“ 関数の引数 ( 必要に応じて ) &quot; assign=&quot; テンプレートアサイン名 &quot;}> <{ xoops_block mod=&quot; news &quot; func=&quot; b_news_top_show &quot;        opt=“ published,10,50 ” assign=“ newsblock ”}> <{* テンプレートからコピーして、アサイン名だけ変更すれば OK ! *}> <ul> <{foreach item=news from= $newsblock .stories}>   <li><a href=&quot;<{$xoops_url}>/modules/news/article.php?storyid=<{$news.id}>&quot;> <{$news.title}></a> (<{$news.date}>)</li> <{/foreach}> </ul>
  • 6.
    xoops_block プラグイン(使い方2) 記述方法2ブロック関数が記述されたファイルを直接指定する方法 <{ xoops_block file=“ ブロック関数が記述されたファイル ” func=“ ブロック関数名 ”        opt=“ 関数の引数 ( 必要に応じて ) &quot; assign=&quot; テンプレートアサイン名 &quot;}> <{ xoops_block file =“ modules/news/block/news_top.php &quot; func=&quot; b_news_top_show &quot;        opt=“ published,10,50 ” assign=“ newsblock ”}> <{* テンプレートからコピーして、アサイン名だけ変更すれば OK ! *}> <ul> <{foreach item=news from= $newsblock .stories}>   <li><a href=&quot;<{$xoops_url}>/modules/news/article.php?storyid=<{$news.id}>&quot;> <{$news.title}></a> (<{$news.date}>)</li> <{/foreach}> </ul> [ 裏技 ] ブロック関数の記述ルールに沿っていれば、独自関数も使用できる。 <{ xoops_block file =“ myfunction .php &quot; func=“ my_xxxx_show &quot; assign=“ myblock ”}>
  • 7.
    xoops_block プラグイン(使用例1) テーマのヘッダーに使用する http://www.xc-tokai.com/ メインメニューを表示  +  ログインフォームを表示 <{ xoops_block mod=“ system ” func=“ b_system_user_show ” assign=“ loginblock ”}>    中略 User:<input type=&quot;text&quot; name=&quot;uname&quot; size=&quot;10&quot; value=&quot;<{ $loginblock.unamevalue }>&quot; /> Pass:<input type=&quot;password&quot; name=&quot;pass&quot; size=&quot;10&quot; />    中略 <{ xoops_block mod=“ system ” func=“ b_system_main_show ” assign=“ ex_mainmenu ”}> <{foreach item=module from= $ex_mainmenu. modules }> <a href=“<{$xoops_url}>/modules/<{$module.directory}>/”><{$module.name}></a> | <{/foreach}>
  • 8.
    xoops_block プラグイン(使用例2) ブロックの中に別のブロックを表示http://www.kasugai-komaki .jp/ piCal ミニカレンダーを表示する <{ xoops_block mod=&quot; piCal &quot; func=&quot; pical_mini_calendar_show &quot; assign=&quot; piCal_miniCal &quot;}> <{ $piCal_miniCal.content }>
  • 9.
    Xoops_block プラグイン(使用例3) 独自の関数を使うニュースの新着記事をトップページに表示 Spotlight ブロックもどきの関数を自作する ( 例: my_newsitem) その独自ファイルを指定して呼び出す ( 例: myfunction.php) <{ xoops_block file=“ myfunction.php &quot; func=&quot; my_newsitem “ opt=&quot; 128 &quot; assign=&quot; mynew &quot;}> <div class=&quot;item&quot;><div class=&quot;itemHead&quot;><span class=&quot;itemTitle&quot;> <a href=&quot;<{$xoops_url}>/modules/news/article.php?storyid=<{$mynews.storyid}>&quot;> <{$mynews.title}></a> </span></div>     以下略

Editor's Notes

  • #2 実は、龍司さんが tinyD のコンテンツをテーマなどで表示出来るような、 Smarty プラグインを公開されていたんですが、 その後に、 tinyD のデフォルトのディレクトリ名が変更になり、また、ディレクトリ名が柔軟に変更可能になりましたので、 龍司さんの Smarty プラグインは、 TinyD 最新版に対して、完全には対応しきれなくなってしまっていました。 それで、ちょっと、最新版 TinyD に対応出来るように変更を加えてみましたので、それを使ってみる事にします。 その Smarty プラグインは、私のサイトよりダウンロード可能ですので、宜しかったらダウンロードしてみてください。 ダウンロード後、解凍してから、 XOOPS ルートディレクリの class/smarty/plugins/ に入れていただければ、使用可能になります。 また、龍司さんのバージョンとも互換性を維持している筈ですので、上書きされれば使えます。 使い方は、簡単で、 TinyD ディレクトリ名 と コンテンツIDを指定するだけです。こんな感じですね。 では、実際の使用例を見てみましょう。
  • #3 で、どうゆうところで、活用でするのか・・・・。 テーマでは、ヘッダーやロゴなど、頻繁に変更したいような時に活用すると便利かと思います。 「 TCP-IP 」 は、テーマ内に使った例です。 ちょっと、言われなければ気が付かないかもしれませんが、この画像がそれです。 通常は、こんなところは、テーマに直接書いちゃう、ところかと思いますが、 この方法で表示する事により、画像などの変更が管理画面からできますので、大変便利になったと思います。 他にも、応用例として、 さっきのモジュールの判別の方法と併用すれば、モジュール毎に表示を変えたりも可能ですし、 また、もしかしたら、 Google アドセンスとかでも、面白い使い方があるかもしれませんね。
  • #4 テンプレート使ってみる場合ですと・・・・、 ちょっとした文章だったら、直接テンプレートに書き込んでも良いかもしれませんが、 まとまった文章や、頻繁に変更したいような文章とかだったら、この方法の方が管理しやすいかと思います。 こんな感じで、注意書きなどを tinyD で書いて、それをテンプレート内に表示しています。 応用例としては、ユーザー毎に表示を変えたりとかも、その気になれば可能ですよね。 Smaty プラグインさえ入れていれば、比較的簡単に、このワザは使えますし、応用範囲は広いと思います。
  • #7 なぜ、この記述方法も使えるようにしたのかと言うと・・、 ・直接、ファイルを呼び出すので、 SQL を回さずに使える。(理論上は、こっちの方が軽い筈です。) ・裏技的に、独自の関数を使う事が出来る。
  • #8 ログインフォームなどは、フォームを直接記述すれば良いように思われるが、 その場合、クッキーを呼び出すことが出来ない。
  • #9 たった、これだけで、どこにでも、 piCal ミニカレンダーを表示出来ます。 幸か不幸か (^^ ゞ、 piCal ミニカレンダーはテンプレートに対応してませんので、簡単に記述できます。