Top > October 2009 [全て開く]

投稿数が

October 31,2009 10:10 AM
Category:[ダジャレ]
Tag:[]
Permalink
Comments [0] | Trackbacks [0]

Movable Type の Captcha の表示を変更する

October 30,2009 1:55 AM
Category:[コメント]
Tag:[, , ]
Permalink

Movable Type のコメントでは Captcha を利用できます。本エントリーでは Captcha の表示のカスタマイズをいくつか紹介します。

1.基礎知識

Captcha の表示をカスタマイズするには、lib/MT/Util/Captcha.pm を編集します。

また、デフォルトでは、Captcha で表示される文字は以下のようです。数字の0 と 1、アルファベットの l と o は含まれていません(z が2つあるのが謎ですが...)。

23456789abcdefghjkmnzpqrstuvwxyz

2.表示文字を変更する

次の行を変更します。

sub READABLECHARS { '23456789abcdefghjkmnzpqrstuvwxyz' };

以下の部分も変更しないと反映されないようです。

...前略...
sub _generate_code {
...中略...
    foreach my $i (0..($len-1)) {
      my $byte = ord(pack('H2', substr($genval, $i*2, 2)));
      my $x = ($byte & 31);
 
      $code .= substr(READABLECHARS(), $byte & 31, 1);
    }
...後略...

試しに「31」の部分を「1」にすると、次のようになりました。

Captchaサンプル1

3.表示文字数を変更する

次のLENGTH を変更します。

sub LENGTH { 6 };

値を「8」にすると次のようになります。

Captchaサンプル2

単純に値を変更するだけではきれいに表示されないようですが色々試してみるとよいでしょう。

Comments [0] | Trackbacks [0]

Movable Type のアーカイブページへのリンクを相対パス(ホストからの相対URL)で表示する

Movable Type のアーカイブページ(ブログ記事ページ・月別アーカイブページ・カテゴリアーカイブページ)へのパーマリンクを、相対パス(ホストからの相対URL)で表示するカスタマイズです。以下、ブログ記事ページを例に説明します。

通常、ブログ記事ページのパーマリンクは MTEntryPermalink タグを利用します。

<a href="<mt:EntryPermalink />"><mt:EntryTitle /></a>

このブログ記事ページへのアーカイブパスが

yyyy/mm/entry-basename.html

となっている場合、URLの代わりに相対パスで出力するには、次のようにします。

<a href="<mt:BlogRelativeURL /><$mt:EntryDate format="%Y/%m/"$><mt:EntryBasename separator="-" /><mt:BlogFileExtension />"><mt:EntryTitle /></a>

MTBlogRelativeURL タグは、ホストからの相対URLを出力するタグです。MTEntryDate タグはブログ記事の公開日時を出力し、format モディファイアを適用することで任意のフォーマットで出力できます。

MTEntryBasename タグはファイル名を出力します。separator モディファイアは、ファイルに含まれる「_」を「-」に変換するものです。MTBlogFileExtension タグはアーカイブの拡張子をピリオド付きで出力します。

このようにテンプレートタグを書き換えることで、

http://user-domain/2009/11/07/post.html

という URL を、

/2009/11/07/post.html

で出力することができるようになります。

アーカイブパスによって設定内容は異なりますが、以下のページを参考にすれば、すべてのアーカイブページの相対パスが出力できると思います。

Movable Type 4 ドキュメント - アーカイブマッピングで利用するアーカイブファイル名の定義
Comments [0] | Trackbacks [0]

Movable Type 5.0 ベータ 4 におけるテンプレートのインクルードの入れ子について

October 29,2009 12:55 AM
Category:[5.0]
Tag:[, , ]
Permalink

先日、「Movable Type(MT)5 テーマ:ウェブサイト用」でウェブサイト向けのテーマを公開しましたが、ベータ4で以下の事象が発生しているため、テンプレートを一部修正しています。

1.事象

テンプレートのインクルードが入れ子になっていると、再構築時エラーになる(入れ子にしているテンプレートモジュールがみつからないというエラー)。

現在発生しているのは以下の2テンプレートモジュールです。

  • ブログ記事のメタデータ
  • タグ

いずれも、以下のようなインクルード関係になっています。

  • メインページ→ブログ記事の概要→ブログ記事のメタデータ
  • メインページ→ブログ記事の概要→タグ

2.対処

配布している「ブログ記事の概要」テンプレートに、青色部分を追加しています。

...前略...
<div class="entry">
 
   <h2 id="a<mt:entryID pad="1" />" class="entry-header"><a href="<mt:entryPermalink />"><mt:entryTitle encode_html="1" /></a> - <mt:if name="display_blog_name"><a href="<mt:entryBlogURL />"><mt:entryBlogName /></a></mt:if></h2>
 
   <mt:BlogParentWebsite><mt:blogID setvar="id" /></mt:BlogParentWebsite>
   <div class="entry-content clearfix">
      <mt:if tag="EntryBody">
         <mt:EntryBody />
      </mt:if>
      <mt:if tag="EntryMore">
         <p class="entry-more"><a href="<mt:entryPermalink />#more">続きを読む "<mt:entryTitle encode_html="1" />"</a></p>
      </mt:if>
 
      <mt:entryIfTagged>
         <mt:include blog_id="$id" module="タグ" />
      </mt:entryIfTagged>
 
   </div>
   <mt:include blog_id="$id" module="ブログ記事のメタデータ" />
</div>
Comments [0] | Trackbacks [0]

livedoor ブログテンプレート修正(カテゴリアーカイブの前後ページのリンク追加)

October 28,2009 1:02 AM
Category:[テンプレート]
Tag:[, ]
Permalink

現在配布中の livedoor ブログテンプレートを修正しました。

1.修正内容

  • カテゴリアーカイブでページ分割を行なった場合に前後ページへのリンクが表示されない不具合を修正

修正後は、カテゴリアーカイブページで下のように前後ページへのリンクが表示されます。

修正後のカテゴリアーカイブページ

2.対処方法

利用中のテンプレートを直接修正する場合は、カテゴリアーカイブテンプレートに、以下の位置に青色の内容を追加してください。

...前略...
<div class="content-nav"><a href="<$BlogUrl$>">Top</a> &gt; <$CategoryName$> アーカイブ</div>
 
<div class="page-nav"><IfPrevPage><a href="<$CurrentUrl$>?p=<$PrevPage$>">&lt; 前のページへ</a></IfPrevPage><IfPrevPage><IfNextPage>&nbsp;|&nbsp;</IfNextPage></IfPrevPage><IfNextPage><a href="<$CurrentUrl$>?p=<$NextPage$>">次のページへ &gt;</a></IfNextPage></div>
 
<!-- Loop Start -->
...後略...

3.ダウンロード

livedoor ブログテンプレートは以下のリンクからダウンロードできます。

livedoor ブログテンプレート
Comments [0] | Trackbacks [0]

Movable Type(MT)5 テーマ:ウェブサイト用

Movable Type 5(MT5)用のテーマ(テンプレート)の配布を開始します。このエントリーで配布するのはウェブサイト用のテーマです。ブログ用のテーマは「Movable Type(MT)5 テーマ:ブログ用」を参照ください。

小粋空間テーマ

Movable Type 5 で追加されたテーマ機能を用いれば、テーマを簡単に入れ替えることができます。

1.Movable Type 5(MT5) テーマのダウンロード

Movable Type 5(MT5)テーマのアーカイブを下記のページからダウンロードしてください。

Movable Type テンプレート

以下、Movable Type(MT) テーマの利用方法です。

2.Movable Type 5(MT5)テーマのインストール

ダウンロードしたテーマアーカイブを解凍し、themes フォルダにある koikikukan_website フォルダを、Movable Type の themes ディレクトリに丸ごとアップロードしてください。

ウェブサイト管理画面の「デザイン」→「テーマ」で「小粋空間テーマ(ウェブサイト用) 5.0」が表示されていればインストールOKです。

テーマの表示

テーマのカラムレイアウトを変更したい場合は、mt-static/plugins フォルダにある KoikikukanTemplateSet フォルダを、スタティックディレクトリ(mt-static)の plugins ディレクトリに丸ごとアップロードしてください。カラムレイアウトを変更する必要がない場合はこの作業は不要です。「デザイン」→「スタイル」でスタイル選択画面に移動し、「Koikikukan Styles」を選択してください。

3.Movable Type 5(MT5)テーマの入れ替え

2項で表示されている「小粋空間テーマ(ウェブサイト用) 5.0」の右上にある「適用」をクリックします。

適用をクリック

少し待つと、次のように現在のテーマの表示が切り替わります。

テーマの適用

あとは全体を再構築し、冒頭のようなデザインで表示されればテーマの入れ替えは完了です。

2010.04.14
スタイルに関する記述を変更しました。

Comments [10] | Trackbacks [0]

CSS で table に斜線を引く方法

October 26,2009 12:03 AM
Category:[CSS]
Tag:[, , ]
Permalink

CSS で table に斜線を引いてみました。下の表の左上の斜線に CSS を使ってます。

サンプル(クリックすればサンプルページに移動します)
CSS で table に斜線

Windows XP + IE6 / IE7 / Firefox3 / Safri3 / Google Chrome で確認しています。

ポイントは以下です。

  • th 要素に position: relative; 斜線を引く要素(ここでは span)に position: absolute; を設定。
  • 斜線(border)を適用する要素の前に &nbsp; を設定。&nbsp; がなかったり、要素の後方に&nbsp; があると、th のスタイルが隠れてしまう。
  • クロスブラウザにするため、font-size や line-height など、いくつかのプロパティを設定。

HTML

<table summary="data">
  <thead>
    <tr><th>&nbsp;<span class="arrow"></span></th><th class="column">a</th><th class="column">b</th><th class="column">c</th></tr>
  </thead>
  <tbody>
    <tr><th class="record">x</th><td>1</td><td>2</td><td>3</td></tr>
    <tr><th class="record">y</th><td>4</td><td>5</td><td>6</td></tr>
    <tr><th class="record">z</th><td>7</td><td>8</td><td>9</td></tr>
  </tbody>
</table>

CSS

* {
    margin: 0;
    padding: 0;
    font-family:Verdana,Arial,sans-serif;
}
table {
    font-size:16px;
    margin: 30px 0 0 30px;
    border: 1px solid #ccc;
    border-spacing: 1px;
    line-height: 2;
}
th {
    width: 50px;
    color: #444;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    position: relative;
}
td {
    padding: 2px 5px;
    text-align: center;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    background-color: #fff;
}
.column {
    background-color: #ccffcc;
}
.record {
    background-color: #ffcccc;
}
.arrow {
   width: 0;
   height: 0;
   line-height: 0;
   border-top: 32px solid #ccffcc;
   border-left: 50px solid #ffcccc;
   border-right: none; 
   position: absolute;
 
   /* ie6 */
   top: 0px;
   left: 0px;
}
html>body .arrow {
   top: 32px;
   left: 32px;
}
*:first-child+html .arrow { /* ie7 */
   top: 0;
   left: 0;
}

以前、border プロパティを使ってふきだしを表現する方法が紹介されていましたが、ふきだしの三角形以外に使い道がないかと思ったのがきっかけです。

rynote - 知らなかった...CSSのborderで斜めに線を引く方法

なお、サンプルでは span 要素の内容に何も入ってないので valid な XHTML ではありません。Another HTML-lint gateway では減点されます。あしからず。

2009.10.27
はてぶで指摘がありましたので最後の一文を修正しました。ご指摘ありがとうございます。

Comments [0] | Trackbacks [0]

「第1回MT5勉強会」のお知らせ

October 25,2009 12:03 AM
Category:[お知らせ]
Tag:[, ]
Permalink

第1回MT5勉強会」が今月28日に行なわれ、申し込みがスタートしたようですので、当サイトでも紹介致します(が、すでにキャンセル待ちの模様...)。

  • 期日:2009年11月28日(土) 13:00~18:00(開場12:30)
  • 場所:【ファースト貸会議室】新橋・銀座会議室(東京都港区新橋1-17-14 新幸ビル4階)JR新橋駅銀座口 徒歩2分
  • 参加費:4,000円
  • 定員:33名(一般公募は20名・参加者多数の場合はキャンセル待ちでお願いします。
  • ゲスト:シックス・アパート株式会社 代表取締役 関 信浩氏・執行役員(製品企画担当) 金子 順氏
  • 主催:蒲生トシヒロ氏(有限会社ITプロフェッショナル)
    協力:シックス・アパート株式会社、WebSig24/7
    協賛:技術評論社(Web Site Expert・gihyo.jp)
  • 特典:シックス・アパート社より全員にオリジナルトートバッグプレゼント、技術評論社よりWeb Site Expert 5冊(抽選)

■タイムテーブル (予定)

  • 12:30 受付開始
  • 13:00 開演
  • 13:00~18:00 勉強会
  • 18:30 閉会
  • 19:00~21:00 場所を変えて懇談会を開催します。

勉強会は以下のようなスケジュールになっています。

第1部:セミナー

  1. 基調講演:関 信浩氏
  2. MT5の新機能ご紹介:金子 順氏

第2部:ワークショップ

  1. Movable Type 5.0テーマの作り方(中級・技術者向け)
    テーブルリーダー 金子順氏
  2. プラグイン作成(中級・技術者向け)
    テーブルリーダー 藤本壱氏・サブリーダー 奥脇知宏氏
  3. 管理画面のカスタマイズ(中級・技術者向け)
    テーブルリーダー 野田純生氏
  4. MT5の構造を知り使い道を考える(企画・管理者向け)
    テーブルリーダー 蒲生トシヒロ氏

第3部:発表会(45分予定)

ということで、希望される方はお申し込みください。私は演奏会の前日で残念ながら参加できませんが、ご盛会を期待しています!

Comments [2] | Trackbacks [0]

トピックに

October 24,2009 1:08 AM
Category:[ダジャレ]
Tag:[]
Permalink
Comments [0] | Trackbacks [0]

Movable Type 5.0 ベータ4リリース

October 23,2009 1:23 AM
Category:[5.0]
Tag:[, ]
Permalink

Movable Type 5.0 ベータ4がリリースされました。

Movable Type 5.0 ベータ4

以下のリンクからダウンロードページに進めます。

Movable Type 5.0 ベータページ

改善点や不具合の修正はリリースノートを参照ください。

ベータ4リリースノート

以下、管理画面で目についたところを紹介します。

ブログテーマに「プロフェッショナルブログ」が追加されました。これでウェブサイトの「プロフェッショナルウェブサイト」と統一されたデザインのブログ作成が可能になります。

プロフェッショナルブログ

MultiBlog の再構築トリガー設定の対象に、「ウェブサイト内のすべてのブログでトリガーを有効にする」が追加されました。

MultiBlog の再構築トリガー設定の対象

MultiBlogのトリガー設定の項目に、ウェブページの保存および公開時に再構築をおこなうオプションが追加されました。

MultiBlogのトリガー設定の項目

更新履歴の一覧に「更新状態」が表示されるようになりました。

更新履歴の一覧

管理画面以外では、主に以下の変更があります。

  • mt:WebsiteLabel タグが mt:WebsiteName タグになりました。
  • コメントのページ送りがすべてのテーマに実装されました。
  • カスタムフィールドの説明欄に入力した内容はサニタイズされなくなりました(管理画面は対象外)。
  • "include_blogs" モディファイアに "children(ウェブサイト内のブログ)" または "siblings(ブログが属するウェブサイト内のブログ)" が指定できるようになりました。
  • Movable Type に同梱している一部のCPANモジュールのバージョンが上がりました。
  • ブログ記事やウェブページの保存ボタンが動作しない場合がある不具合を修正しました。
Comments [0] | Trackbacks [0]

include_with_website モディファイア

Movable Type 5 では include_with_website モディファイアが追加されています。

このモディファイアは、自ウェブサイトのIDを include_blogs="site" というモディファイアの値に加えるものです。次のように設定すれば、ウェブサイト配下のブログ名と自ウェブサイト名を出力します。

<mt:Blogs include_blogs="site" include_with_website="1">
    <mt:BlogName />
</mt:Blogs>

include_with_website モディファイアは、include_blogs モディファイアが使える以下のテンプレートタグで使えると思います(他にも使えるかもしれません)。

  • MTAssets
  • MTAuthors
  • MTBlogs
  • MTCategories
  • MTBlogCategoryCount
  • MTComments
  • MTBlogCommentCount
  • MTEntries
  • MTAuthorEntryCount
  • MTBlogEntryCount
  • MTPings
  • MTBlogPingCount
  • MTTags
  • MTTagSearchLink
  • MTTagRank
  • MTWebsites

また、以下のモディファイアも追加されています(上記のテンプレートタグで利用可能)。

  • site_ids
  • include_websites
  • exclude_websites

ちなみに、デフォルトテンプレートの「最近のコメント(下)」を見ると、MTIf タグ(厳密には、MTIf タグの tag モディファイアに上記のテンプレートタグを使用した場合)にも include_with_website モディファイアを(つまり include_blogs="site" も)適用できるようです。

<mt:If tag="BlogCommentCount" include_blogs="site" include_with_website="1">
    <mt:Comments lastn="10" sort_order="descend" include_blogs="site" include_with_website="1">
        <mt:CommentsHeader>
<div class="widget-recent-comments widget">
    <h3 class="widget-header">最近のコメント</h3>
    <div class="widget-content">
        <ul>
        </mt:CommentsHeader>
            <li><strong><$mt:CommentAuthor$>:</strong> <$mt:CommentBody remove_html="1" words="10"$> <a href="<$mt:CommentLink$>" title="<mt:CommentEntry><$mt:EntryTitle$></mt:CommentEntry>へのコメント">続きを読む</a></li>
        <mt:CommentsFooter>
        </ul>
    </div>
</div>
        </mt:CommentsFooter>
    </mt:Comments>
</mt:If>

このサブテンプレートは、自ウェブサイトの(ウェブページへの)コメントも含めて、コメントが1件以上投稿(公開)されていれば、MTIf タグブロック内を実行するようになっています。MTIf タグの条件と整合するよう、中にある MTComments タグにも同じモディファイアを適用しています。

ということで、MTIf タグに設定できるモディファイアがさらに増えました。

Comments [0] | Trackbacks [0]

Movable Type(MT)5 テーマ:ブログ用

Movable Type 5(MT5)用のテーマ(テンプレート)の配布を開始します。このエントリーで配布するのはブログ用のテーマです。ウェブサイト用のテーマは「Movable Type(MT)5 テーマ:ウェブサイト用」を参照ください。

小粋空間テーマ

Movable Type 5 で追加されたテーマ機能を用いれば、テーマを簡単に入れ替えることができます。

1.Movable Type 5(MT5) テーマのダウンロード

Movable Type 5(MT5)テーマのアーカイブを下記のページからダウンロードしてください。

Movable Type テンプレート

以下、Movable Type(MT) テーマの利用方法です。

2.Movable Type 5(MT5)テーマのインストール

ダウンロードしたテーマアーカイブを解凍し、themes フォルダにある koikikukan_blog フォルダを、Movable Type の themes ディレクトリに丸ごとアップロードしてください。

ブログ管理画面の「デザイン」→「テーマ」で「小粋空間テーマ(ブログ用) 5.0」が表示されていればインストールOKです。

テーマの表示

テーマのカラムレイアウトを変更したい場合は、mt-static/plugins フォルダにある KoikikukanTemplateSet フォルダを、スタティックディレクトリ(mt-static)の plugins ディレクトリに丸ごとアップロードしてください。カラムレイアウトを変更する必要がない場合はこの作業は不要です。「デザイン」→「スタイル」でスタイル選択画面に移動し、「Koikikukan Styles」を選択してください。

3.Movable Type 5(MT5)テーマの入れ替え

2項で表示されている「小粋空間テーマ(ブログ用) 5.0」の右上にある「適用」をクリックします。

適用をクリック

少し待つと、次のように現在のテーマの表示が切り替わります。

テーマの適用

あとは全体を再構築し、冒頭のようなデザインで表示されればテーマの入れ替えは完了です。

2010.04.14
スタイルに関する記述を変更しました。

Comments [13] | Trackbacks [1]

メール紛失とお問い合わせメール再送のお願い

October 20,2009 1:55 AM
Category:[お知らせ]
Tag:[, ]
Permalink

昨晩、メインで使っている自宅の PC を立ち上げた後、Thunderbird を起動しても無応答状態になってしまい、仕方がないので PC を再起動して再び Thunderbird を起動したところ、受信トレイ(Inbox)のメールがすべて消えてしまいました。

他のフォルダに振り分けをしていたメールは残っているのですが、それ以外のメールがすべてなくなってしまいました。以前バックアップをとっていたのは1年ほど前のものなので、それ以降から昨晩までのメールは残念ながら復旧できなくなりました。

その中に、当サイトへのお問い合わせメールがいくつか返信していないものがありましたので、もしこの記事をご覧になって、まだ返信されていないようでしたら、お手数ですが再度ご連絡いただけますでしょうか。「Movable Type 4.2 パーフェクトガイド」のサポートサイトからのフィードバックメールについても同様です。

ちなみに、これまでも受信トレイのメールが何回か紛失する事件があり、さすがに学習して、受信トレイには一切メールを残さず、すべてフォルダに振り分けることにしました。

それではよろしくお願い致します。

Comments [0] | Trackbacks [0]

Movable Type でカテゴリ別にブログ記事の背景画像を切り替える

October 19,2009 12:55 AM
Category:[カテゴリー]
Tag:[, , ]
Permalink

Movable Type 4 以降のバージョンで、カテゴリ別にブログ記事の背景画像を切り替えるカスタマイズを紹介します。

この記事は、Twitter 上で immovabletype さんのつぶやきに対してお伝えした内容をまとめたものです。

まず、カテゴリ別に背景画像を適用するイメージを図に示します。

設定イメージ

図の説明ですが、まずカテゴリ別の背景画像を用意します。ここでは「日記」「旅行」「趣味」の3つのカテゴリの背景画像を想定します。次に各背景画像を、カテゴリ別のセレクタとしてスタイルシートに設定します。そして、各ページのブログ記事の背景画像として適用します。例えば、「日記」カテゴリに属するブログ記事Aには、緑色の背景画像を適用します。

また、カテゴリの増減に対応できるよう、スタイルシートや各テンプレートにはテンプレートタグを利用して、再構築するだけで自動的に背景画像を適用できるようにします。手動で用意するのは背景画像のみです。

背景画像の設定にはカテゴリのカスタムフィールドを利用する手もありますが、ここでは MTOS でも利用可能な設定方法を紹介します。カスタムフィールドを用いた方法は別途エントリーしたいと思います。

1.背景画像のアップロード

背景画像にしたいカテゴリ別の画像を、メインページと同じディレクトリにアップロードします。

2.「カテゴリの説明」の設定

各カテゴリの「カテゴリの説明」欄に、背景画像のファイル名を設定します(拡張子は除く)。冒頭の例では、次のような設定になります。

カテゴリカテゴリの説明
日記diary
旅行travel
趣味hobby

カテゴリ名を背景画像のファイル名に使ってもよいのですが、カテゴリ名に全角を使っているとCSSのセレクタに使用できないので、「カテゴリの説明」欄を使用しています。

3.スタイルシートの修正

スタイルシートに以下の内容を追加します。

<mt:Categories>
.img_<$MTCategoryDescription$> {
    background: url(<$MTBlogURL$><$MTCategoryDescription$>.jpg) no-repeat left top;
}
</mt:Categories>

追加後、スタイルシートの再構築を行ないます。これでカテゴリ別の背景画像用のセレクタが出来上がります。冒頭の例では次のようになります。

.img_diary {
    background: url(http://user-domain/diary.jpg) no-repeat left top;
}
.img_travel {
    background: url(http://user-domain/travel.jpg) no-repeat left top;
}
.img_hobby {
    background: url(http://user-domain/hobby.jpg) no-repeat left top;
}

4.テンプレートの修正

3項で設定した背景画像用のセレクタを、各テンプレートのブログ記事部分に出力する設定を行ないます。設定内容はテンプレートによって微妙に異なるため、やや分かりにくいかもしれませんが次の表を参考にしてください。

メインページカテゴリ
アーカイブ
月別
アーカイブ
ブログ記事
アーカイブ
デフォルトテンプレート
小粋空間テンプレート
その他
(テンプレート別に設定)
  • ①「ブログ記事の概要」テンプレートモジュールを修正
  • ②「ブログ記事」アーカイブテンンプレートを修正
  • ③「ブログ記事の詳細」テンプレートモジュールを修正
  • ④「メインページ」インデックステンプレートを修正
  • ⑤カテゴリアーカイブテンプレートを修正
  • ⑥月別アーカイブテンプレートを修正
  • ⑦ブログ記事アーカイブテンプレートを修正

表の見方は、例えば、「既定のブログ」を使っていて、メインページ・カテゴリアーカイブ・月別アーカイブのブログ記事の背景画像を変更したい場合は、「ブログ記事の概要」テンプレートモジュールを修正する(=①の修正を行う)、という具合になります。

以下、①~⑦の番号別に修正内容を示します。

①:「ブログ記事の概要」テンプレートモジュールの修正

メインページ・カテゴリアーカイブ・月別アーカイブで、ブログ記事の表示に「ブログ記事の概要」テンプレートモジュールを利用している場合、ページによって処理を振り分ける必要があるため、次のサブテンプレートを使用します。このサブテンプレートは「ブログ記事の概要」テンプレートモジュールの背景画像を表示したい div 要素の開始タグに適用してください(改行はすべて除去してください)。

<div
<mt:if name="category_archive">
<mt:if tag="CategoryDescription">
 class="img_<mt:CategoryDescription />"
</mt:if>
<mt:else>
<mt:setVar name="flag" value="0" />
<mt:EntryCategories><mt:unless name="flag">
<mt:if tag="CategoryDescription"> class="img_<$MTCategoryDescription$>"</mt:if>
<mt:setVar name="flag" value="1" />
</mt:unless>
</mt:EntryCategories>
</mt:if>>

最初の MTIf タグブロック内でカテゴリアーカイブの場合の処理を記述し、MTElse タグブロック内でカテゴリアーカイブ以外の処理を記述しています。

MTIf タグブロック内、つまりカテゴリアーカイブでは、表示するカテゴリが決まっているので、MTCategoryDescription タグをそのまま class 属性値に適用しています。なお、2つめのMTIf タグは tag モディファイアで MTCategoryDescription を判定し、カテゴリの説明が設定されている場合のみ、MTCategoryDescription タグを出力するようにしています。

MTElse タグブロック内、つまりメインページや月別アーカイブ・ブログ記事アーカイブでは、まず MTEntryCategories タグでブログ記事のカテゴリ一覧を処理し、一番最初に処理されるカテゴリ(メインカテゴリ)について MTCategoryDescription タグを class 属性値に適用しています。

なお、ブログ記事に複数のカテゴリを設定していると、class 属性値に複数のMTCategoryDescription タグの内容を設定してしまうため、変数 flag を使用し、変数flag の値が0のときだけ、MTCategoryDescription タグを出力するようにしています。

①で div 要素に既存の class 属性値を設定している場合

①で、適用したい div 要素に他の class 属性(ここでは hoge)をすでに設定している場合は、次の内容に書き換えます。hoge の部分は設定している値に書き換えてください。

<div class="hoge
<mt:if name="category_archive">
<mt:if tag="CategoryDescription">
 img_<mt:CategoryDescription />
</mt:if>
<mt:else>
<mt:setVar name="flag" value="0" />
<mt:EntryCategories><mt:unless name="flag">
<mt:if tag="CategoryDescription"> img_<$MTCategoryDescription$></mt:if>
<mt:setVar name="flag" value="1" />
</mt:unless>
</mt:EntryCategories>
</mt:if>">

②③④⑥⑦の場合の修正

②③④⑥⑦は、①のように処理を振り分ける必要がないケースです。表に示したテンプレートにある div 要素の開始タグを、次の内容に入れ替えてください。改行はすべて除去してください。

<mt:setVar name="flag" value="0" />
<div
<mt:EntryCategories>
<mt:unless name="flag">
<mt:if tag="CategoryDescription"> class="img_<mt:CategoryDescription />"</mt:if>
<mt:setVar name="flag" value="1" />
</mt:unless>
</mt:EntryCategories>>

処理の内容は、①の MTElse タグブロックと同じです。

②③④⑥⑦で div 要素に既存の class 属性値を設定している場合

②③④⑥⑦で、適用したい div 要素に他の class 属性(ここでは hoge)をすでに設定している場合は、次の内容に書き換えます。hoge の部分は設定している値に書き換えてください。

<mt:setVar name="flag" value="0" />
<div class="hoge
<mt:EntryCategories>
<mt:unless name="flag">
<mt:if tag="CategoryDescription"> img_<mt:CategoryDescription /></mt:if>
<mt:setVar name="flag" value="1" />
</mt:unless>
</mt:EntryCategories>">

⑤:カテゴリアーカイブテンプレートの修正

カテゴリアーカイブテンプレートを直接修正する場合、選ばれるカテゴリが一意に決まっているので、修正内容は一番シンプルです。

<div<mt:if tag="CategoryDescription"> class="img_<mt:CategoryDescription />"</mt:if>>
</div>

処理の内容は、①の MTIf タグブロックと同じです。

⑤で div 要素に既存の class 属性値を設定している場合

適用したい div 要素に他の class 属性(ここでは hoge)をすでに設定している場合は、次の内容に書き換えます。hoge の部分は設定している値に書き換えてください。

<div class="hoge<mt:if tag="CategoryDescription"> img_<mt:CategoryDescription /></mt:if>">
</div>

5.設定例

4項までで、カスタマイズは完了ですが、「一体どの div 要素に設定すればいいの?」という疑問があると思うので、「既定のブログ」のメインページを例に、具体的な設定位置と、設定前後のキャプチャを掲載します。

ブログ記事の概要(変更前)

<$mt:EntryTrackbackData$>
<div id="entry-<$mt:EntryID$>" class="entry-asset asset hentry">
    <div class="asset-header">
...後略...

ブログ記事の概要(変更後:青色が追加部分)

<$mt:EntryTrackbackData$>
<div id="entry-<$mt:EntryID$>" class="entry-asset asset hentry<mt:if name="category_archive"><mt:if tag="CategoryDescription"> img_<mt:CategoryDescription /></mt:if><mt:else><mt:setVar name="flag" value="0" /><mt:EntryCategories><mt:unless name="flag"><mt:if tag="CategoryDescription"> img_<$MTCategoryDescription$></mt:if><mt:setVar name="flag" value="1" /></mt:unless></mt:EntryCategories></mt:if>">
    <div class="asset-header">
...後略...

メインページ(変更前)
メインページ(変更前)

メインページ(変更後)
メインページ(変更後)

以上です。元々の設定内容は immovabletype さんのブログでまとめられています。

immovabletype - [MT] カテゴリごとに記事のアイコン画像等を切り替える方法

2009.11.18
ファイル名およびクラス名の対応が誤っていたので修正しました。

Comments [2] | Trackbacks [1]

ELECOM 44メディア対応メモリリーダライタ ケーブル収納 SD+MS+XD対応 ブラック MR-C16BK

October 18,2009 2:11 AM
Category:[mono]
Tag:[, , ]
Permalink

xD ピクチャーカードに対応したカードリーダーを持っていなかったので購入しました。

ELECOM 44メディア対応メモリリーダライタ ケーブル収納 SD+MS+XD対応 ブラック MR-C16BKELECOM 44メディア対応メモリリーダライタ ケーブル収納 SD+MS+XD対応 ブラック MR-C16BK

エレコム 2009-05-25
売り上げランキング : 47585

Amazonで詳しく見る by G-Tools

この機種を購入した理由は、コンパクト(100円ライターくらいの大きさ)であるということと、「USBケーブルが収納できる」という点です。

とりあえず、当初の目的は無事に果たせました。

Comments [0] | Trackbacks [0]

コマンドが

October 17,2009 12:50 AM
Category:[ダジャレ]
Tag:[]
Permalink

エラーになって

Comments [0] | Trackbacks [0]

Movable Type で「~」が「?」に文字化けする事象や日本語のタグが合算できない不具合を解消する

Movable Type で MySQL 5を利用している際に、

  • ブログ本文などに含まれる「~」という文字などが「?」に文字化けする
  • 日本語のタグが合算できない(Aブログ記事とBブログ記事に同じ日本語のタグを付与した場合、タグ一覧などで2件とならず、それぞれ1件として表示される)

といった不具合を解消する方法を紹介します。

すでに多くのサイトで紹介されているので目新しい情報ではありませんがとりあえず。

1.原因

タイトルの不具合が生じる原因は、対象テーブルのカラムの照合順序が「ujis_japanese_ci」になっているためのようです。この照合順序を「utf8_general_ci」にすることで解消しているようです。

ちなみに、「照合順序」とはデータベースから select する際のルールを示すもののようで、

  • ujis/utf8:文字コード
  • japanese/general:照合形式
  • ci/cs:大文字・小文字を区別する・しない

という意味があります。

また、「大文字・小文字の区別」は英文字だけでなく、全角・半角や日本語の濁音・清音も含まれるようです(どのように区別されるかは、japanese/general の設定に依存)。

2.対策

以下、phpMyAdmin を使って「ujis_japanese_ci」を「utf8_general_ci」にする設定を紹介します。phpMyAdmin ログインした状態から説明します。

2.1 ブログ記事の文字化けを解消する場合

左メニューより mt_entry テーブルをクリック。

mt_entry テーブルをクリック

次の画面で「構造」のタブが選択されていることを確認し、mt_entry テーブルのフィールド一覧が表示されるので、一番下の「すべてチェックする」をクリック。これですべてのテーブルのチェックボックスがチェックされます。

「すべてチェックする」をクリック

「すべてチェックする」の右側にある鉛筆マークのアイコンをクリック。

アイコンをクリック

照合順序に「ujis_japanese_ci」が表示されているものについて「utf8_general_ci」に変更し、「保存」をクリック。照合順序が選択されていないものは変更しないでください。

照合順序を変更

以上です。なお、一度文字化けしてしまったものについては手作業で修正が必要なようです。

2.2 日本語の連結ができない不具合を解消する場合

mt_tag テーブルについて、2.1と同様の変更を行います。

照合順序を変更

こちらも、変更後に追加したタグについては合算されますが、既存のタグは合算されないようです。

2.3 その他

コメントの文字化けを変更する場合は mt_comment、トラックバックは mt_tbping / mt_trackback ですが、一通りやっておくとよいでしょう。

3.参考サイト

以下です。ありがとうございました。

2011.02.04
本文を一部修正しました。

Comments [16] | Trackbacks [8]

テクノラティジャパン・サービス終了

October 15,2009 1:35 AM
Category:[サービス]
Tag:[]
Permalink

日本のブログ界に貢献してきたテクノラティジャパンのサービスが2009年10月23日12:00 を持って終了することになりました。

テクノラティジャパン

テクノラティジャパン サービス終了のお知らせ

ブログを始めてからテクノラティには色々とお世話になりました。サービス終了については大変残念に思いますが、これも世の流れでしょうか。

なお、テクノラティUSのサービスは継続されるので、テクノラティジャパンのアカウントをテクノラティUSへ移行したい場合は、アカウント移行の期間中(10月14日~12月31日)に、テクノラティUSにサインインを行なえば移行が完了します。

今のところ、テクノラティUSでは日本語サイトの検索には対応していないようです。また、7月から「Twittorati」というサービスが始まっています。

Twittorati

最後に、テクノラティジャパンについての役割がどのようなものであったかを記念に残す意味で、「テクノラティジャパンとは」の文言を全文引用させて頂きます。

テクノラティジャパンとは

テクノラティジャパンは、ブログ界で今何が起きているのかを最もよく知っています。そのデータを利用して現在ブログ検索機能の提供を通じて、ブログそして記事を可視化するお手伝いをしています。

ブログとは何かでしょうか? Weblog(ウェブログ)もしくはblog(ブログ)とは、ウェブ上の日記を指します。ブログでは、ブログを書く人の数だけたくさんのテーマや意見が表現されています。 ブログには影響力の高いものや膨大な読者数を誇るものもあれば家族や友人のような小さな集団に向けたものもあります。

ブログのよいところは、何百万人もの人が簡単に自分の考えを公開することができ、また何百万人もの人がそれらにコメントをつけることができることです。ブログは変化に富み、ダイナミックで中立的で、今までウェブが「図書館」のようであると言われていたのに対し、「会話」に近いものです。ブログの読者やブログを書く人、ブログにコメントを書く人が増えるにつれて、ウェブの利用方法は根本的に変わってきています。インターネット利用者は、情報に対して受動的な消費者からアクティブに働きかける参加者へとどんどん変わってきています。ブログが誰でも意見を発信できるようにしたのです。

これがブログ現象をはじめとするウェブ上で自由な表現を行うことが「参加型エコノミー」と呼ばれるゆえんです。

数年前、ウェブ検索でシンプルながら大きな革命が起きました。サイトをリンクされているサイトの数で評価し、「リンク数が重要」としたことです。ブログ界ではこの「リンク」はもっと重要と考えられています。それは、ブロガーが非常によく他のブログにリンクをはったりコメントをつけたりして、会話でもつようなスピード感とつながり感が醸成されているためです。だからこそテクノラティはリンクの数、ブログの妥当性、ブログの即時性をトラッキングするのです。 テクノラティはブログが更新されると、瞬時かつ自動的に通知を受け取るため、ブログ界の膨大な更新情報をトラッキングすることがで、そしてこれらの会話の下地となるコミュニティ(誰が誰にリンクを貼っているのか)を知ることができるのです。

テクノラティのデータによると、一日に7万5000個の新しいブログが生まれています。ブロガーは定期的にブログを更新するため、一日に120万個の記事がかかれており、これは一時間に5万個のブログが更新されている計算になります。

加えて、テクノラティではビデオブログ(vlog)やポッドキャスト、動画等の新しいUGC(User Generated Contentユーザが作り出すコンテンツ)をリアルタイムにトラッキングし、投稿された数分後にはインデックスしています。テクノラティではウェブで行われている会話をライブで可視化し、自分が興味を持っているものや面白いものなどができるたびにそれを見つけることができるようにしています。

テクノラティジャパンをご利用頂くと、たった今、誰が、どんなことを言っているのかがわかるのです。是非ご利用ください。

Comments [3] | Trackbacks [0]

Movabel Type の検索結果フィードを利用する

October 14,2009 1:55 AM
Category:[検索]
Tag:[, ]
Permalink

当サイトのブログ検索(またはタグ検索)結果画面に、検索結果フィードのリンクを追加しました。

検索結果フィードのリンク

このリンクの利用方法は次の通りです。

  1. ブログの検索フォームから検索、またはタグ検索
  2. 検索結果の右上に表示された「<検索文字列>の検索結果を購読する」のリンクをコピー
  3. コピーしたリンクをフィードに登録

上記の設定を行なうことで、そのブログで検索文字列に関連した記事が投稿されると、フィードからその記事だけを購読することができるようになります(下は設定後の購読例)。特定の話題に関する記事だけを読みたいときに大変便利です。

検索結果フィードのリンク

検索結果フィードのリンクはデフォルトテンプレートで用意されているので改めて設定する必要はないと思いますが、当サイトの公開テンプレートでは提供していないので、以下に掲載しておきます。

<mt:If name="search_results">
  <mt:If tag="SearchString">
<div class="side">
  <img src="<$mt:StaticWebPath$>images/status_icons/feed.gif" alt="購読する" width="9" height="9" /> <a href="<$mt:CGIPath$><$mt:SearchScript$>?<mt:IfTagSearch>tag<mt:else>search</mt:IfTagSearch>=<$mt:SearchString encode_url="1"$>&amp;Template=feed&amp;IncludeBlogs=<$mt:SearchIncludeBlogs$>&amp;limit=<$mt:SearchMaxResults$>" title="<mt:IfTagSearch>「<$mt:SearchString$>」の検索結果を購読<mt:Else>タグ「<$mt:SearchString$>」を購読</mt:IfTagSearch>"><mt:IfTagSearch>タグ「<$mt:SearchString$>」の検索結果を購読する<mt:Else>「<$mt:SearchString$>」の検索結果を購読する</mt:IfTagSearch></a>
</div>
  </mt:If>
</mt:If>
Comments [0] | Trackbacks [0]

ニコニコ動画が未来をつくる ドワンゴ物語

October 13,2009 1:33 AM
Category:[書籍]
Tag:[, ]
Permalink

巷ではコグレさん・いしたにさん執筆の Twitter 本でにぎわってますが、佐々木俊尚さんの新書も出ています。

ニコニコ動画が未来をつくる ドワンゴ物語 (アスキー新書 125)ニコニコ動画が未来をつくる ドワンゴ物語 (アスキー新書 125)

アスキー・メディアワークス 2009-10-09
売り上げランキング : 489

Amazonで詳しく見る by G-Tools

この本は、佐々木さんが2008年秋から2009年夏にかけてドワンゴ社員へインタビュー取材を元に記されたもので、ドワンゴの創世記からニコニコ動画を作るまでの歴史が語られています。

第1章 Bio_100%の強者たち
Super Depth
パソコン通信の時代
STUDIO☆FEMYからBio_100%へ
Windows出現
第2章 ドワンゴ創世
出会い
自作パソコン文化の誕生
DWANGO
Lase5
アクシデンタルな企業
ドワンゴ誕生
天才プログラマー
第3章 デスマーチの日々
「廃人」たちの総帥
もう一人の「廃人」
思い切った賭け
死の行進
SEGA RALLY2
弟子募集!
艱難辛苦の末の奇跡
行進の爪跡
第4章 ケータイの世界へ
iモードという可能性
ドコモとの接近
超大作RPG
社長招聘
着メロという発想
最後発として
秘策
いろメロミックス
音質で勝負
絶対音感の子供たち
着メロ事業、離陸
先達たちに導かれ
テレビCMへの進出
独走状態
新しいメディア-着ラップと着ボイス
敗北の中の希望
第5章 同期と非同期の狭間に
手詰まりの状態で
赤字決算
不思議なサービス
同期と非同期の問題
バーチャルライブ
動画配信の模索
残された時間
これだ!
ひろゆきのアドバイス
ニコニコ動画、発進
第6章 ニコニコ動画が作り出す未来
YouTubeからの強硬措置
プラットフォームとしての展開
無数に生まれ続ける伝説
新しいコンテンツの世界
Comments [0] | Trackbacks [0]

Movable Type 5.0 のカスタムフィールドをカテゴリで振り分ける

Movable Type 5.0 では、ブログ記事投稿画面に表示するカスタムフィールドを、カテゴリで振り分けることができるようになりました。

一言で説明するのは難しいので、まず概要を図で説明します。

まず、ブログ記事用のカスタムフィールドをいくつか作成したと仮定します。カスタムフィールド作成後、カスタムフィールドとカテゴリをひもづけます。この図では、次のようにひもづけます。

  • カスタムフィールドA:趣味、日記
  • カスタムフィールドB:趣味、日記
  • カスタムフィールドC:趣味、旅行

ログ記事用のカスタムフィールドとカテゴリのひもづけ

このひもづけを行うことで、ブログ記事投稿画面でカテゴリを選択した際、カテゴリごとに表示するカスタムフィールドを切り替えることができます。

  • カテゴリから「趣味」を選択:カスタムフィールドA~Cを表示
  • カテゴリから「日記」を選択:カスタムフィールドCを表示
  • カテゴリから「旅行」を選択:カスタムフィールドA、Bを表示

カテゴリごとに表示するカスタムフィールドを切り替え

実際の画面では次のようになります。

カテゴリを選択

「趣味」選択時のカスタムフィールド

カテゴリを選択

「旅行」選択時のカスタムフィールド

カテゴリを選択

「日記」選択時のカスタムフィールド

カテゴリを選択

複数選択しても適正に動作するようです。

カテゴリを選択

2009.11.02 追記

ブログ記事のカスタムフィールドを追加すると、カテゴリ編集画面に「カスタムフィールド」というフィールドが追加され、追加したカスタムフィールドがすべて表示されます。

カスタムフィールド編集画面でひもづけたいカテゴリにチェックをすると、カテゴリ編集画面の「カスタムフィールド」に表示されたカスタムフィールドがチェックされた状態になります。

この状態であれば、本エントリーの動作になりますが、カテゴリ編集画面の「カスタムフィールド」に表示されたカスタムフィールドのチェックを外すと、ブログ記事編集画面で該当のカテゴリを選択しても、フィールドは表示されません。

ただし、上記の操作に関係なく、ブログ記事の「表示オプション」を使った表示・非表示の制御も行なえます。

Comments [0] | Trackbacks [0]

Movable Type 5 ユーザーコミュニティ「MTQ」

October 11,2009 12:03 AM
Category:[5.0]
Tag:[, , ]
Permalink

告知が遅れましたが、Movable Type 5 のベータ版リリースに伴って、先日より「Movable Type 5 ユーザーコミュニティ」サイト、通称「MTQ」が立ち上がっています。

Movable Type 5 ユーザーコミュニティ

このサイトはユーザ参加型で、現在100人余りのメンバーが参加しています。サイトに登録することでトピックを投稿することができるようになります。また、ベータ版のダウンロードサイトへのリンクやフィードバックへのリンクもあります。

Movable Type 5 の情報をいち早くキャッチしたい方にお勧めです。

Comments [0] | Trackbacks [0]

スーパーマーケットで

October 10,2009 12:50 AM
Category:[ダジャレ]
Tag:[]
Permalink

言いました。

Comments [0] | Trackbacks [0]

金賞よりも大切なこと~コンクール常勝校 市立柏高等学校吹奏楽部 強さの秘密

October 9,2009 12:50 AM
Category:[書籍]
Tag:[, ]
Permalink

柏市立柏高等学校(市柏:イチカシ)吹奏楽部の物語です。「音楽コンクールで勝つ3つの方法 」のコメントでこの本の存在を知り、購入しました。新刊です。

金賞よりも大切なこと~コンクール常勝校 市立柏高等学校吹奏楽部 強さの秘密金賞よりも大切なこと~コンクール常勝校 市立柏高等学校吹奏楽部 強さの秘密

スタイルノート 2009-09-28
売り上げランキング : 365

Amazonで詳しく見る by G-Tools

柏市立柏高等学校(イチカシ)は1978年4月に開校。当時14名の部員から始まった吹奏楽部は、顧問の石田修一先生の指導のもと、わずか3ヶ月(しかも1年生だけ)で、千葉県吹奏楽コンクールで準優勝。翌年は優勝。3年目(全学年が揃う)には、全日本吹奏楽コンクールの地区予選で優勝。4年目には全日本吹奏楽コンクールの関東大会で金賞を受賞。そして紆余曲折を経たのち、7年目には全国大会で金賞を受賞するに至っています。

その後、毎年数々のコンクールで優勝・金賞を受賞し、約200名余りの部員で構成される吹奏楽部は現在も高い評価を得ています。柏市民文化会館で毎年12月に5日間にわたって行なわれるチャリティコンサートは、宣伝をしたりチラシを使うわけでもないのに即日完売らしく、非常に多くのファンがいるようです。

この本は、著者の山崎正彦氏(現武蔵野音楽大学講師)がイチカシを密着取材し、イチカシの強さの秘密が、単に厳しい指導や演奏技術の向上ではなく、顧問の石田先生の「人を育てる力」にあることが切々と記されています。

書籍の中では、コンクールに向けた石田先生の指導、生徒達の努力、そして金賞までの道のりが物語的に記されており、ひたむきに演奏に取り組む、純粋で素直な高校生達がいることに感動を覚える場面もありました。

ということで、今年出合った書籍の中では一番面白かったです。また、機会があれば是非イチカシの生演奏も聴いてみたいところです。

Comments [0] | Trackbacks [0]

Movable Type 5.0 ベータ3リリース

October 8,2009 12:55 AM
Category:[5.0]
Tag:[, ]
Permalink

Movable Type 5.0 ベータ3がリリースされました。

Movable Type 5.0 ベータ3

以下のリンクからダウンロードページに進めます。

Movable Type 5.0 ベータページ

改善点や不具合の修正はリリースノートを参照ください。

ベータ3リリースノート

以下、管理画面で目についたところを紹介します。

ブログのドメインやブログのアーカイブのドメインをウェブサイトのサブドメインとして指定できるようになりました。

Movable Type 5.0 ベータ3

ウェブページやブログの新規作成画面へのメニューが追加されました。

Movable Type 5.0 ベータ3

管理画面右上の検索ボックスのレイアウトが変わりました。

Movable Type 5.0 ベータ3

記事作成画面のレイアウトが若干変わりました。

ベータ2のレイアウト
Movable Type 5.0 ベータ3

ベータ3のレイアウト
Movable Type 5.0 ベータ3

ユーザーダッシュボードへのメニューが追加されました(ベータ2にあった画面左上の「ダッシュボード」が移動)。

Movable Type 5.0 ベータ3

テーマをエクスポートしたときにダウンロードを選択できるようになりました。

Movable Type 5.0 ベータ3

カスタムフィールドでカテゴリとの対応をとる場合、サブカテゴリがインデント表示されるようになりました。

ベータ2の表示
Movable Type 5.0 ベータ3

ベータ3の表示
Movable Type 5.0 ベータ3

テンプレートモジュールやウィジェットにSSIの表示が追加されました。

Movable Type 5.0 ベータ3

管理画面以外では、主に以下の変更があります。

  • Generic Website が廃止され、通常のウェブサイトとしてブログを管理できます。
  • ウェブサイトやブログを作成したときに、サンプルのページを作らないようになりました。
  • Motion と Action Stream の、テンプレートおよびプラグインは、MT 5.0 には含まないことになりました。
Comments [0] | Trackbacks [0]

Movable Type 5.0 情報(テンプレートタグ Tips)

October 7,2009 1:55 AM
Category:[5.0, テンプレートタグ]
Tag:[, , ]
Permalink

Movable Type 5.0 のテンプレートタグの操作に関する Tips です(ベータ2現在の情報)。以前の記事と若干重複しているかもしれませんがあしからず。

また、情報の一部は「Movable Type 5 BETA ドキュメント」からの引用です。

1.親ウェブサイトのコンテキストに移動する

<mt:BlogParentWebsite>
   :
</mt:BlogParentWebsite>

2.親ウェブサイトのモジュールをインクルードする

<mt:BlogParentWebsite><mt:WebsiteID setvar="website_id"></mt:BlogParentWebsite>
<mt:Include module="Test" blog_id="$website_id">

3.ウェブサイトに属するブログのコンテキストに移動する

<mt:Blogs include_blogs="site">
   :
</mt:Blogs>

4.コメントのカスタムフィールドをコメント投稿フォームに表示する

<input type="hidden" name="blog_id" value="<MTBlogID>" />
<input type="hidden" name="customfield_beacon" value="1" id="customfield_beacon" />
<mt:CommentCustomFields>
<mt:SetVarBlock name="custom_field_name"><$mt:CustomFieldName$></mt:SetVarBlock>
<mt:SetVarBlock name="field-content"><$mt:CustomFieldHTML$></mt:SetVarBlock>
<mt:SetVarBlock name="custom_field_id">profile_<$mt:CustomFieldName dirify="1"$></mt:SetVarBlock>
<$mt:Include module="フォームフィールド" id="$custom_field_id" class="" label="$custom_field_name"$>
</mt:CommentCustomFields>

5.カスタムフィールドの埋め込みオブジェクトを表示する際の注意点

Movable Typeの標準テンプレートでは、プロフィールやコメントのカスタムフィールド項目をブログで表示する際、安全のためにHTMLタグを除去するグローバルモディファイア sanitize="1" を指定しています。

このため、カスタムフィールドの『埋め込みオブジェクト』で入力される<embed>や<object>タグは、標準の設定では除去されます。

タグを除去せずに、カスタムフィールドの値を表示したい場合は、 sanitize="0" とすることでHTMLをそのまま表示できます。ただし、これによりウェブサイト上で任意のHTMLを表示したり、JavaScriptを実行することが可能になります。ウェブサイトのセキュリティ確保のために、信頼されたユーザーだけがその項目を編集できるよう、コメント認証やユーザーの権限を厳しく設定してください。

Comments [0] | Trackbacks [1]

WordPressで学ぶPHPとMySQL

October 6,2009 1:55 AM
Category:[書籍]
Tag:[]
Permalink

WordPress 向けのカスタマイズ本「WordPressで学ぶPHPとMySQL」を紹介します。

WordPressで学ぶPHPとMySQL

この書籍は、著書の藤本壱さんが配布する PDF 本の(多分)第2弾です。ちなみに第1弾は「Movable Type Developer's Guide Volume 1」です。

書籍の前半は、PHPの基礎とWordPressを使った制御文の説明など。後半はGETデータ、POSTデータの受け渡し方、Cookie の利用、関数や正規表現の利用方法、さらにオブジェクト指向プログラミングやデータベースへの直接アクセスや、wpdbオブジェクトを利用したデータの取得方法、カスタムフィールドを使った検索など、サイト制作に役立つと思われる実用的なノウハウが満載です。

また、書籍では開発ツールのEclipse PDT(PHP向けの開発環境)を必要に応じて用いており、手順通りに行なえば、作成したソースコードのデバグを効率よく行なえるようになっています。書籍内で紹介しているソースコードのサンプルもダウンロードできます。

約470ページで2500円ですが、ご自身のブログで書籍の紹介などを行なえば、最大で500円割引で購入する特典もあるので、かなりお買い得ではないでしょうか。

目次をクリックすれば目的のページに素早く移動できるのもPDFの強みです。また、紙媒体に印刷したときに綴じやすいよう、PDFは3種類セットで用意されています。

詳しくは「WordPressで学ぶPHPとMySQLの特設ページ」をご覧ください。

以下、目次です。

第1章 学習用環境の作成

PHPとMySQLの学習に必要な環境
ローカルサーバー
統合開発環境
テキストエディタ
パソコンの設定等
XAMPP for Windowsのインストール
XAMPP for Windowsの概要
XAMPP for Windowsのダウンロード
XAMPP for Windowsのインストール
XAMPP for Windowsのコントロールパネルを起動する
XAMPP for Windowsの動作確認
MySQLにパスワードを設定する
PHPの設定
XAMPP for MacOS Xのインストール
XAMPP for MacOS Xのダウンロード
XAMPP for MacOS Xのインストール
php.iniの書き換え
XAMPP for MacOS Xの起動
XAMPP for MacOS Xの動作確認
XAMPP for MacOS Xが自動で起動するようにする
セキュリティの設定を行う
phpMyAdminの設定の書き換え
Eclipse PDTのインストール
JRE(Java実行環境)のインストール
Eclipse PDTのダウン
Eclipse PDTのインストール
Eclipse PDTの初期設定
WordPressのインストール
データベースの作成
WordPressをインストールする

第2章 PHP初めの第一歩

PHPの概要
静的なWebページが表示される仕組み
プログラムの処理結果を表示する
インタープリタ型の言語
HTMLファイルの中に直接にスクリプトを書ける
Webページ向けの便利な機能
データベースアクセス機能が充実
初めてのPHPスクリプト
スクリプトの入力
ファイルの保存
ファイルのアップロード
ファイルのパーミッションについて
ファイルを表示する
変数を使う
「変数」とは?
変数の名前
変数に値を代入する
変数や値の計算
型の変換
値を表示する
echo命令で文字を表示する
連続した文字列を一度に出力する
投稿のタイトルの前に連番を振る
この節で行うこと
トップページの出力に使われるテンプレート
投稿を繰り返し出力する「WordPressループ」
カスタマイズを行う
Eclipse PDTでプログラムの動作を追ってみる
プロジェクトの新規作成
デバッグの設定を行う
デバッグ対象のファイルを開く
ブレークポイントを設定する
デバッグを始める
プログラムを1ステップずつ実行する
ステップ・オーバーを進める
次のブレークポイントまで一度に実行する
デバッグを終了する
その他の基本的な構文
定数の定義
スクリプトにコメントを入れる
長い行を分割する
1つのHTMLファイルにPHPの部分を複数入れる
WordPressの機能を利用したスクリプトを作る
出力の例
スクリプトの書き方
スクリプトの例

第3章 条件判断と繰り返し

条件によって処理を変える---if文
if文の基本型
if文の例
Eclipse PDTでif文の流れを追ってみる
条件式とtrue/falseの値
「true」と「false」について
WordPressの「条件タグ」で処理を分ける
複数の条件を判断する
複数の条件を順に判断する
条件を組み合わせる
if文のネスト
その他の条件判断
switch文
三項演算子
一定回数の繰り返し
for文の基本
お勧め度を「☆」で表示する
for文の一般形
for文の一般形
for文のネスト
for文の一般形/for文のネストの例
for文の動作をEclipse PDTで追ってみる
デバッグの設定を行う
ブレークポイントを設定する
「式」のビューを追加
外側の繰り返しに入る
内側の繰り返しに入る
最初のカラーコードを出力する
内側の繰り返しを終える
外側の繰り返しを抜ける
デバッグの終了
while文/do~while文による繰り返し
while文とdo~while文の書き方
WordPressループとwhile文
繰り返しの制御(break文とcontinue文)
繰り返しを途中で抜ける---break
次の繰り返しに進む---continue

第4章 配列変数で多数のデータを効率よく扱う

配列変数の基本
普通の変数では一連のデータを処理しにくい
配列変数で一連のデータを効率よく処理する
配列変数への代入方法
配列変数にWordPressの投稿を読み込む
Eclipse PDTで配列変数の状態を見る
サンプルファイルの準備
デバッグの設定
配列変数を監視するための準備
ブレークポイントの設定
配列変数の状態を調べる
連想配列と二次元配列
連想配列
二次元配列
配列関連の各種の処理
配列の各要素を順に取り出して処理する
連想配列からキーと要素を取り出す
配列の要素を変数に一度に代入する
配列の要素数を数える
配列の要素を逆順にする
配列の要素を並べ替える
投稿内の単語を出現回数の多い順に表示する
要素の追加と削除
配列の連結
配列の一部を取り出す

第5章 ページ間でデータをやり取りする

フォームの基本
フォームの作成
入力欄を作る
ボタンを作る
「送信」ボタンが押されたときの動作を決める
フォームの例
外部からのデータを受け入れる際の注意
URLを使ってページ間でデータを受け渡す(GET)
URLでのデータのやり取りの仕組み
PHPでのデータのやりとりの方法
URLに指定された値でヘッダーの背景画像を切り替える
フォームのデータをGETプロトコルで送信する
英数字以外のデータを受け渡しする
POSTプロトコルでデータを渡す
POSTプロトコルの概要
フォームの書き方
データの受け取り方
POSTプロトコルを使った例
サンプルファイルとデバッグ
Cookieでデータを受け渡しする
Cookieの概要
Cookieを保存する
setcookie関数の例
Cookieの値を読む
Cookieを使った例
データ受け渡しの際のPHP特有の機能
複数選択可能なセレクト
magic_quotesについて

第6章 関数の利用と作成

関数の基本
関数とは?
組み込み関数とユーザー定義関数
よく使う組み込み関数
日付/時刻を処理する関数
数学関数
変数関係の関数
文字列を処理する関数
文字列の長さを調べる
文字列の一部分を取り出す
大文字/小文字の変換
ホワイトスペースの削除
値を書式付けて文字列に変換する
文字列の位置の検索
文字列中のHTMLやPHPを無効化する
HTMLのタグをすべて取り除く
日本語対応の文字列関数
日本語対応文字列関数の特徴
PHP標準文字列関数との対応
文字コードの変換
全角/半角やひらがな/カタカナの変換
正規表現を使った検索と置換
正規表現とは?
正規表現を使って文字列を検索する
検索された文字列を配列に取り出す
文字列を置換する
文字列を分割する
正規表現を使った例
ユーザー定義関数を作る
ユーザー定義関数の基本
ユーザー定義関数の例
ユーザー定義関数のデバッグ
サンプルファイル
ユーザー定義関数のライブラリ化
ユーザー定義関数を別ファイルから読み込む
functions.phpに関数等を書く
functions.phpを使った例
ユーザー定義関数関係の各種のトピック
変数のスコープ
値渡しと参照渡し
引数のデフォルト値を指定する
静的変数

第7章 オブジェクト指向の基本

オブジェクトの基本
オブジェクトとは
オブジェクトを使ってみる
クラスを作る
クラスとメンバー/メソッドの定義
オブジェクトの初期化
オブジェクトが消える際の後始末をする
オブジェクトへのアクセス
クラス定義の例
既存のクラスを拡張する(継承)
既存のクラスを継承して新しいクラスを作る
継承の書き方
派生クラスのプロパティとメソッド
クラス作成の事例---WordPress 2.8のウィジェット
この節で取り上げる内容
WP_Widgetクラスを継承する
コンストラクタを作る
widgetメソッドを上書きする
サンプルファイルとデバッグ

第8章 MySQLの基本

RDBMSとMySQLの概要
RDBMSの概要
RDBMSとSQL
MySQLでデータを管理する
phpMyAdminの基本操作
phpMyAdminの概要
phpMyAdminにログインする
データベースを選ぶ
SQLの入力と結果の表示
基本的なデータの取り出し方
すべてのレコードを取り出す
フィールドを限定する(射影)
レコードを限定する(選択)
さまざまなデータの取り出し方
レコードを並べ替える
レコードの数を制限する
フィールドどうしを計算する
関数を使う
フィールドに別名を付ける
重複する値を取り除く
集計とグループ化
集計を行う関数
グループ化して集計する
集計結果に条件を設定する
テーブルを結合する
「正規化」について
結合を行うSELECT文の書き方
投稿を書いたユーザーの名前を得る
カテゴリ毎の投稿の数を調べる
自己結合と外部結合
自己結合
外部結合
サブクエリーで複雑な条件のデータを取り出す
サブクエリーとは
「テーマ」「プラグイン」の両方のタグを付けた投稿を取り出す
「『テーマ』『プラグイン』の両方のタグを付けた投稿を取り出す」処理を別の方法で行う
テーブルに別名を付ける場合
データの書き換え等の操作
データ書き換え関係のSQLを実行する際の注意
レコードを追加する---INSERT命令
レコードを書き換える---UPDATE命令
レコードを削除する---DELETE命令
WordPressのコアの関数を利用する

第9章 WordPressからMySQLにアクセスする

wpdbオブジェクトを介してデータベースにアクセスする
wpdbオブジェクトの概要
SQLの実行結果を得る---get_resultsメソッド
結果が1行になる場合---get_rowメソッド
結果が1つの値になる場合---get_varメソッド
INSERT文等の実行---queryメソッド
SQLインジェクションの防止---prepareメソッド
SQL実行時のエラーを表示する
HP本来のMySQL関係の関数
特定カテゴリだけのアーカイブを作る
この節で作る例
「ニュースリリース」カテゴリだけの月別アーカイブリストを出力する
月別のニュースリリースを表示する
サンプルファイルとデバッグ
複数のカスタムフィールドを組み合わせた検索
この節で取り上げる例
サンプルの動作テスト
カスタムフィールドのデータの構造
SELECT文の作り方
検索のフォームを作る
検索結果を出力するスクリプトを作る
searchresult.phpの動作をEclipse PDTで見る
Comments [2] | Trackbacks [0]

Amazon 2009年9月の注文ランキング

October 5,2009 12:50 AM
Category:[書籍]
Tag:[, ]
Permalink

2009 年 9 月の Amazon 注文ランキングです。藤本壱さんのMTOSカスタムフィールド本の売れ行きが好調です。

1位:MTOS活用テクニック―カスタムフィールドで本格的なCMS機能を実現!

MTOS活用テクニック―カスタムフィールドで本格的なCMS機能を実現!MTOS活用テクニック―カスタムフィールドで本格的なCMS機能を実現!
藤本 壱

ラトルズ 2009-02
売り上げランキング : 8891

Amazonで詳しく見る
by G-Tools

2位:GriffinTechnology iTalk Pro GRI-IP-000063

GriffinTechnology iTalk Pro GRI-IP-000063GriffinTechnology iTalk Pro GRI-IP-000063

Griffin Technology 2006-11-10
売り上げランキング : 13181

Amazonで詳しく見る
by G-Tools

2位:即戦プロ技 Movable Typeデザインテンプレートコレクション

即戦プロ技 Movable Typeデザインテンプレートコレクション即戦プロ技 Movable Typeデザインテンプレートコレクション

毎日コミュニケーションズ 2009-05-13
売り上げランキング : 29157

Amazonで詳しく見る
by G-Tools

2位:基本からしっかりわかる Movable Type 4.2 カスタマイズブック

基本からしっかりわかる Movable Type 4.2 カスタマイズブック(Web Designing Books)基本からしっかりわかる Movable Type 4.2 カスタマイズブック(Web Designing Books)

毎日コミュニケーションズ 2008-09-20
売り上げランキング : 10097

Amazonで詳しく見る
by G-Tools

5位:Movable Type逆引きデザイン事典[4.2/4.1対応]

Movable Type逆引きデザイン事典[4.2/4.1対応]Movable Type逆引きデザイン事典[4.2/4.1対応]

翔泳社 2009-04-21
売り上げランキング : 85710

Amazonで詳しく見る
by G-Tools

5位:グーグルに依存し、アマゾンを真似るバカ企業

グーグルに依存し、アマゾンを真似るバカ企業 (幻冬舎新書)グーグルに依存し、アマゾンを真似るバカ企業 (幻冬舎新書)

幻冬舎 2009-07
売り上げランキング : 2656

Amazonで詳しく見る
by G-Tools

5位:誰とでも15分以上 会話がとぎれない!話し方66のルール

誰とでも15分以上 会話がとぎれない!話し方66のルール誰とでも15分以上 会話がとぎれない!話し方66のルール

すばる舎 2009-07-24
売り上げランキング : 24

Amazonで詳しく見る
by G-Tools

5位:Logitec iPod/iPhone専用 HiFi ICレコーダーアダプタ LIC-IREC03P

Logitec iPod/iPhone専用 HiFi ICレコーダーアダプタ LIC-IREC03PLogitec iPod/iPhone専用 HiFi ICレコーダーアダプタ LIC-IREC03P

ロジテック 2009-08-11
売り上げランキング : 891

Amazonで詳しく見る
by G-Tools
Comments [0] | Trackbacks [0]

朝5分で

October 4,2009 12:50 AM
Category:[ダジャレ]
Tag:[]
Permalink
Comments [0] | Trackbacks [0]

phpMyAdmin で MySQL のストレージエンジンを MyISAM から InnoDB に変更する方法

October 3,2009 2:55 AM
Category:[MySQL]
Tag:[, , , ]
Permalink

phpMyAdmin で MySQL のストレージエンジンを MyISAM から InnoDB に変更する具体的な方法です。ここでは XAMPP 環境(Windows XP + MySQL 5.0 + phpMyAdmin 2.11.4)で試したもので紹介します。

このエントリーは以下の記事に触発されて書いたものです。

techknow.yagishita.net - MTを使ったサイト構築テクニック (2): ネタフルにおける再構築チューニング

1.my.cnf を変更する

ストレージエンジンを MyISAM から InnoDB に変更するには、テーブル単位で変更します。phpMyAdmin の GUI によるストレージエンジンの変更方法は、

  • 変更したいテーブル名をクリック
  • 上部タブの「操作」をクリック
  • 「テーブルオプション」の「ストレージエンジン」から「InnoDB」を選択

となりますが、XAMPP のデフォルトの MySQL の設定では、phpMyAdmin から InnoDB を選択することができません。

ストレージエンジン選択

したがって、まず最初に、C:¥xampp¥mysql¥bin¥my.cnf(my と表示されたファイル)を編集します。

my.cnf を任意のエディタで開き、

# Comment the following if you are using InnoDB tables
skip-innodb
#innodb_data_home_dir = "C:/xampp/mysql/"
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = "C:/xampp/mysql/"
#innodb_log_arch_dir = "C:/xampp/mysql/"
## You can set .._buffer_pool_size up to 50 - 80 %
## of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
## Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50

の部分を探し、以下のように「skip-innodb」をコメントアウトし、以降のすべてのコメントアウトを解除します。

# Comment the following if you are using InnoDB tables
#skip-innodb
innodb_data_home_dir = "C:/xampp/mysql/"
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = "C:/xampp/mysql/"
innodb_log_arch_dir = "C:/xampp/mysql/"
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

編集が終わったら保存します。

2.MySQL を再起動する

my.cnf を編集しただけでは実際の動作に反映されないので、XAMPP コントロールパネルを使って MySQL を再起動します。

MySQL を再起動

3.ストレージエンジンを MyISAM から InnoDB に変更する

phpMyAdmin で該当のDBを選択したあと、InnoDB に変更したいテーブルをクリック。

変更したいテーブルをクリック

上部のタブから「操作」をクリック。

「操作」をクリック

「テーブルオプション」の「ストレージエンジン」から「InnoDB」を選択

ストレージエンジン選択

または、テーブル選択前の状態の上部タブの「SQL」をクリックして、以下のSQL を実行します(まとめて実行するとエラーになりましたが...)。この SQL は Movable Type 4.261 のものです。

ALTER TABLE `mt_asset`  ENGINE = 'InnoDB';
ALTER TABLE `mt_asset_meta`  ENGINE = InnoDB;
ALTER TABLE `mt_association`  ENGINE = InnoDB;
ALTER TABLE `mt_as_ua_cache`  ENGINE = InnoDB;
ALTER TABLE `mt_author`  ENGINE = InnoDB;
ALTER TABLE `mt_author_meta`  ENGINE = InnoDB;
ALTER TABLE `mt_backgroundrebuild`  ENGINE = InnoDB;
ALTER TABLE `mt_blog`  ENGINE = InnoDB;
ALTER TABLE `mt_blog_meta`  ENGINE = InnoDB;
ALTER TABLE `mt_category`  ENGINE = InnoDB;
ALTER TABLE `mt_category_meta`  ENGINE = InnoDB;
ALTER TABLE `mt_comment`  ENGINE = InnoDB;
ALTER TABLE `mt_comment_meta`  ENGINE = InnoDB;
ALTER TABLE `mt_config`  ENGINE = InnoDB;
ALTER TABLE `mt_entry`  ENGINE = InnoDB;
ALTER TABLE `mt_entry_meta`  ENGINE = InnoDB;
ALTER TABLE `mt_field`  ENGINE = InnoDB;
ALTER TABLE `mt_fileinfo`  ENGINE = InnoDB;
ALTER TABLE `mt_ipbanlist`  ENGINE = InnoDB;
ALTER TABLE `mt_log`  ENGINE = InnoDB;
ALTER TABLE `mt_notification`  ENGINE = InnoDB;
ALTER TABLE `mt_objectasset`  ENGINE = InnoDB;
ALTER TABLE `mt_objectscore`  ENGINE = InnoDB;
ALTER TABLE `mt_objecttag`  ENGINE = InnoDB;
ALTER TABLE `mt_permission`  ENGINE = InnoDB;
ALTER TABLE `mt_placement`  ENGINE = InnoDB;
ALTER TABLE `mt_plugindata`  ENGINE = InnoDB;
ALTER TABLE `mt_profileevent`  ENGINE = InnoDB;
ALTER TABLE `mt_profileevent_meta`  ENGINE = InnoDB;
ALTER TABLE `mt_role`  ENGINE = InnoDB;
ALTER TABLE `mt_session`  ENGINE = InnoDB;
ALTER TABLE `mt_tag`  ENGINE = InnoDB;
ALTER TABLE `mt_tbping`  ENGINE = InnoDB;
ALTER TABLE `mt_tbping_meta`  ENGINE = InnoDB;
ALTER TABLE `mt_template`  ENGINE = InnoDB;
ALTER TABLE `mt_templatemap`  ENGINE = InnoDB;
ALTER TABLE `mt_template_meta`  ENGINE = InnoDB;
ALTER TABLE `mt_touch`  ENGINE = InnoDB;
ALTER TABLE `mt_trackback`  ENGINE = InnoDB;
ALTER TABLE `mt_ts_error`  ENGINE = InnoDB;
ALTER TABLE `mt_ts_exitstatus`  ENGINE = InnoDB;
ALTER TABLE `mt_ts_funcmap`  ENGINE = InnoDB;
ALTER TABLE `mt_ts_job`  ENGINE = InnoDB;

なお、すべてのテーブルを InnoDB にする必要はないかもしれませんが「混在しない方が良い」と言う記事もあります。

漢(オトコ)のコンピュータ道 - MyISAMからInnoDBへ切り替えるときの注意点

4.MyISAM と InnoDB の計測結果

Movable Type 4.261 の MyISAM と InnoDB の再構築時間の計測結果です。

ブログ記事数は約30で、ブログ記事の再構築と全体の再構築をそれぞれ5回ずつ行いました。ちなみにかなり非力な Windows マシンです(Pentium4 2.8GHz メモリ1.5GB)。InnoDB のチューニングは行なっていません。

MyISAMInnoDB
ブログ記事15s13s14s16s13s13s12s12s11s12s
全体53s51s48s52s55s43s41s43s42s39s

ということで、若干 InnoDB の方が早くなりました。

Comments [2] | Trackbacks [1]

CommentCustomField プラグイン v0.04(ラジオボタン・チェックボックス・プルダウンメニュー対応)

配布中の CommentCustomField プラグインをバージョンアップしました。

1.追加機能

追加した機能は次の通りです。

  • コメント投稿フィールドに、ラジオボタン/チェックボックス/プルダウンメニューの項目選択用テンプレートタグの提供
  • コメントプレビュー画面に、ラジオボタン/チェックボックス/プルダウンメニューのユーザ選択状態を表示するテンプレートタグの提供
  • コメント表示フィールドへの投稿データ表示用テンプレートタグの提供
  • ブログ管理画面に各フォームデータの初期値を設定可能
  • 設定した初期値に選択状態(checked/selected)の設定が可能
  • コメント編集画面で各入力値の編集が可能

この機能追加によって、コメント投稿者がラジオボタン/チェックボックス/プルダウンメニューから項目を選択したり、選択した項目をコメント一覧に表示できるようになります。

ラジオボタンの完成例
ラジオボタンの完成例

チェックボックスの完成例
チェックボックスの完成例

プルダウンメニューの完成例
プルダウンメニューの完成例

投稿コメントの表示例
投稿コメントの表示例

また、ブログ管理画面では、各項目のデータ設定が可能です。

プルダウンメニューの完成例

データを選択状態(checked/selected)にしたい場合は、各項目の直後にアスタリスク(*)を入力しておきます。

プルダウンメニューの完成例

上記の選択状態を反映させたフォームの初期表示状態は次のようになります。

プルダウンメニューの完成例

また、コメント編集画面で、入力されたデータの編集が可能です。

プルダウンメニューの完成例

また、画像はアイテムとしての管理対象になり、本プラグインで追加した画像情報表示のためのブロックタグ MTCommentCustomFieldAsset で MTAsset 関連タグを組み合わせれば画像情報を自由に表示することができます。

2.ダウンロード

ダウンロードは下記のリンクからどうぞ。

CommentCustomField プラグイン
Comments [0] | Trackbacks [0]

Movable Type 4.32 リリース

October 1,2009 1:37 AM
Category:[4.32]
Tag:[, ]
Permalink

Movable Type 4.32 がリリースされました。

Movable Type 4.32 Bug-fix Release + Zemanta plugin
Movable Type 4.32 リリース

以下のような修正が行なわれています。

  • ユーザ登録が無効となるとき、キャッシュされた登録ページからのユーザ登録を許容します。
  • Zemanta プラグイン(記事の内容に関連した画像を自動検索して表示・記事への挿入が可能)が追加されました。
  • ダイナミックパブリッシングで MTIfArchiveTypeEnabled タグが正常に動作しない不具合を修正しました。
  • 公開日フィールドの DatePicker(カレンダー)が壊れる不具合を修正しました。

今回は日本語版もリリースされています。ダウンロードリンクの一番右にある「other languages」からダウンロードできます。

Movable Type 4.32 リリース

Zemanta プラグインはプラグインの設定が必要なようですが、ブログ記事作成画面に移動すれば、未設定の状態でも動作します。

Movable Type 4.32 リリース

Comments [0] | Trackbacks [0]
Now loading...
Introduction
List of "October 2009"
Recent Entries
Recent Comments
Recent Trackbacks
QRcode

現在停止中です
携帯電話からこのQRcodeを撮影することで携帯用URLを取得することができます

URI for cellular phones
ギターに入った猫
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site
loading ...
Categories
Monthly Archives
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
クリエイティブ・コモンズ・ライセンス
Powered by
Movable Type 5.12