拙著「上手に稼ぐカラ売りテクニック」が発売されました。
株価が下がる局面で利益を得ることができる「空売り」について、詳しく解説した本です。
自由国民社刊で、定価1,512円(税込)です。
簡単なダッシュボードウィジェットを作る(その4)
昨日に続いて、簡単なダッシュボードウィジェットを作る方法を解説します。
今日は、ブログ毎の/システムのダッシュボード専用のウィジェットを作る方法を紹介します。
1.config.yamlファイルに記述を追加
ブログ毎/システム専用のダッシュボードウィジェットを作るには、config.yamlファイルに、「condition」の部分を追加します(以下のリストの赤字部分)。
name: プラグインの名前 id: プラグインのID description: プラグインの概要 version: プラグインのバージョン widgets: ダッシュボードウィジェットのID: label: ラベル plugin: $プラグインのID template: ファイル名 singular: true set: mainまたはsidebar condition: > sub { ブログ毎/システムの条件判断 }
「ブログ/システムの条件判断」の箇所には、正規表現を使って、ブログ毎かシステムかを判断する条件判断の文を書きます。
書き方は以下の通りです。
システムのダッシュボード専用にする場合
sub { $_[1] =~ /system$/; }
ブログ毎のダッシュボード専用にする場合(すべてのブログで有効)
sub { $_[1] =~ /blog:\d+$/; }
ブログ毎のダッシュボード専用にする場合(一部のブログで有効)
sub { $_[1] =~ /blog:(ブログのID|ブログのID|...|ブログのID)$/; }
「ブログのID」の箇所に、ダッシュボードウィジェットを有効にしたいブログのIDを指定します。
例えば、IDが1番/3番/5番のブログでだけダッシュボードウィジェットを有効にするには、以下のように書きます。
sub { $_[1] =~ /blog:(1|3|5)$/; }
2.config.yamlファイルの例
昨日ご紹介したサンプルを、IDが1番のブログでのみ有効にするには、config.yamlファイルを以下のように書きます。
name: Dashboard Widget Sample 2 id: DashboardWidgetSample2 description: ダッシュボードウィジェットの例2 version: 1.0 widgets: sample_widget2: label: 作業メニュー2 plugin: $DashboardWidgetSample2 template: sample_widget2.mtml singular: true set: main condition: > sub { $_[1] =~ /blog:(1)$/; }
3.テンプレート内でシステム/ブログを判断する
複数のブログにダッシュボードウィジェットを対応させる場合、「ウィジェットの大半の部分は共通で、一部がブログごとに異なる」といったことも出てきます。
その場合、ウィジェットのテンプレートの中で、MTIfタグを使ってブログのIDを判断し、ブログごとに出力する内容を変える、といった方法を取ることができます。
例えば、IDが1番のブログのときだけ、「サイトを確認」というリンクを追加したいとします。
また、そのリンクをクリックしたときに、ブログのメインページが表示されるようにしたいとします。
その場合、ウィジェットのテンプレートに以下のような部分を追加します。
なお、「blog_url」はMT内部で定義されている変数で、ブログのアドレスを表します。
<mt:if name="blog_id" eq="1"> <a href="<$mt:var name="blog_url" escape="html"$>" target="_blank">サイトの確認</a> </mt:if>