お知らせ

Excelでできるらくらく統計解析2010年4月7日

Excelでできるらくらく統計解析」が発売されました。
Excelを使って、ヒストグラム作成から推定・検定・多変量解析といった統計行う方法を解説しています。
多数の式を入力する必要がある処理は、「統計アドイン」で簡単に行えるようになっています。

他にも多数書籍を執筆しています。
こちらもぜひご覧ください。

数値型のカスタムフィールドを追加するプラグイン(その1)

| コメント(9) | トラックバック(0)

Movable Type 4.1以降では、カスタムフィールド機能が追加され、ブログ記事等にフィールドを追加することができます。
また、Movable Type 4.2では、フィールドの値でブログ記事を並べ替えて出力する機能も追加されました。

ただ、テキスト型のフィールドでブログ記事を並べ替えた場合、フィールドの値の辞書順に並べ替えられます。
そのため、テキスト型のフィールドに数値を入力して並べ替えると、数値順ではなく辞書順になってしまい、正しい並び順になりません。

幸いにして、カスタムフィールドには、プラグインで新たなデータ型を追加する機能が用意されています。
この利用例として、数値型のカスタムフィールドを追加するプラグインを作ってみました。

1.インストール

このプラグインは、以下からダウンロードすることができます。

NumericCustomFields_1_00.zip

プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。

また、このプラグインの他にも、いくつかのプラグインを配布しています。
配布中のプラグインは、Movable Type Plugin Directoryのページをご参照ください。

Movable Typeのプラグイン開発等のドキュメント「Movable Type Developer's Guide Volume 1」も販売しています。
ご自分でプラグインを作ってみたい方に、ぜひお勧めしたい一冊です。
詳細は特設ページをご覧ください。

ダウンロードしたZipファイルを解凍すると、「NumericCustomFields」というフォルダができます。
このフォルダを、Movable Typeの「plugins」ディレクトリにアップロードします。

2.使い方

このプラグインをインストールすると、カスタムフィールドのデータ型に「整数」と「浮動小数点数」が追加されます。
整数は小数点以下を含まない値で、浮動小数点数は小数点以下を含む値です。
これらのどちらかのデータ型を選ぶと、そのフィールドは数値として保存されます。

numericcustomfields.png

MTEntriesタグでカスタムフィールドを使ってブログ記事を並べ替える場合、数値のフィールドであれば、数値の大小順に並べ替えることができます。
例えば、「number1」というベースネームのカスタムフィールドを作ったとして、そのフィールドの値が小さい順にブログ記事を並べ替えるには、以下のように書きます。

<mt:Entries sort_by="field:number1" sort_order="ascend">
  ブログ記事の情報を出力する部分
</mt:Entries>

3.既存のテキスト型のフィールドを数値型に変換する

「カスタムフィールドに数値を入力して、ブログ記事を並べ替えられるようにしよう」と思って、テキスト型のフィールドにすでにデータを入力されている方もいらっしゃるかと思います。
ただ、このプラグインをインストールしても、既存のテキスト型のフィールドはテキストのままです。
数値に変換されるわけではありません。

このような場合、テキスト型のフィールドを数値型に変換すれば、並べ替えを行うことができるようになります。
その方法は明日解説します。

Facebook連携

当記事について「いいね」や「送信」を行っていただけると幸いです。


この記事についてウォールに投稿

トラックバック(0)

トラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/1634.

コメント(スレッド5件,コメント9件)

コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。

No.1 ENUAI : NumericCustomFieldsプラグインにつきまして

はじめまして。
いつも大変参考にさせて頂いています。

「NumericCustomFields」プラグインにつきまして、
まさに探していたプラグインが見つかった! と、早速導入させて頂いたのですが、
並び替えに変化がありませんでした。

MTのバージョンは最新の 4.261 を使用しています。

また、NumericCustomFieldsにて並び替えを行いたいテンプレートは、
アーカイブテンプレートの、「カテゴリ別ブログ記事リスト」です。

以前どこかで『アーカイブテンプレート内ではカスタムフィールドの値で並び替えができない』と目にした事があるのですが、このプラグインを使っても並び替えは行えないのでしょうか?

もしくは、私のタグの記述などに不備があるのかもしれません。


大変お手数ですが、
MTの最新バージョン かつ アーカイブテンプレート内であっても動作するのか、
お教え頂けます様お願い致します。

No.2  : Re:NumericCustomFieldsプラグインにつきまして

>ENUAIさん
こんにちは。

「アーカイブテンプレート内ではカスタムフィールドの値で並び替えができない」というのは、Movable Type本体の不具合です。
申し訳ありませんが、このプラグインは、MT本体の不具合を修正するものではありません。
MT4.261での並べ替え動作は確認していませんが、うまく動かないということであれば、MT4.261でも並べ替えの不具合が修正されていないということだと思います。

No.3 ENUAI : ご返信ありがとうございます。

>2 壱様

MTの不具合なのですね。
お忙しい中ご返信ありがとうございます。

引き続いてのご質問で恐縮なのですが、
壱様なら、こういった場合はどのようにされますでしょうか?

例として
・定番商品から探す(カテゴリー名:standard)
・目的から探す(カテゴリー名:purpose)
・価格から探す(カテゴリー名:price)
上記のように3カテゴリーあった場合、
各カテゴリーの一覧ページ(カテゴリーアーカイブ)の並び順を、
「定番商品から探す」の一覧はオススメ順、
「価格から探す」の一覧は価格の安い順。。。
等のように、それぞれ違う並び順で表示させたいのです。

1つは、ブログ記事の作成日順でなんとかなるのですが、
あとの2種類はどうしよう。。。といった状況です。

アーカイブテンプレート内では”カスタムフィールドの値”では並び替えができないとの事で、『概要』や『キーワード』を無理矢理使う等、いろいろと試しているのですが、
何か良い方法はご存知でしょうか?

大変勝手なお願いではございますが、
お時間がございましたらお知恵をお借り頂けると幸いです。

どうぞ宜しくお願い致します。

No.4  : Re:ご返信ありがとうございます。

>ENUAIさん
こんにちは。

MT標準の機能だけで、お書きになったようなカタログ系サイトを作るのは、やや難しいかです。
拙著「MTOS活用テクニック」では、記事を柔軟な条件で検索する方法を紹介しています。この本を読んでいただくと、より目的に近い形のサイトを作れると思います。

No.5 ENUAI : (無題)

>4 壱様

ご返信ありがとうございます。

試行錯誤しながら、がんばってみます。
「MTOS活用テクニック」も購読し、勉強させて頂きます。

何度もご返信頂きまして本当にありがとうございました。

No.6 しばしば : (無題)

はじめまして、非常に便利なプラグインで使用を検討しております。
一つだけ質問なのですが、このプラグインを使用して作った数値データを
表示する際に、カンマでの桁区切りを行うことはできますでしょうか?
不可能であれば、表示用のテキストフィールドを
作成しようと考えております。

No.7  : (無題)

>しばしばさん
こんにちは。

Movable Type 4.2以降をご利用であれば、Movable Type標準のnumifyモディファイアを使って、コンマ区切りすることができます。

http://www.movabletype.jp/documentation/appendices/modifiers/numify.html

No.8 マッキー : 浮動小数点を選択したときの、カスタムフィールドでの絞り込み

壱様、
いつもサイトや書籍で大変お世話になっております。素晴らしいプラグインの数々、本当に助かっています。

今回の、こちらの数値型カスタムフィールドのプラグインを導入させていただきましたが、以下のような挙動になっています。もし対処方法などありましたらご教授ください。

データ型で、浮動小数点を選んだ場合、通常の「カスタムフィールドでのフィルタリング」というのは使えないようでした。
などのブロックタグの属性に、「field:customfieldbasename="foo"」というのを入れるというやつです。

customfieldbasenameを指定し、"foo"の部分に"0.5"など入れたところ、街灯があるはずが一つも引っかかりませんでした。これは指定の仕方を工夫すれば、何とか解決できるものでしょうか?方法あればご教授ください。

ちなみに、整数のほうは大丈夫でした。
よろしくお願いいたします。

No.9 マッキー : Re:浮動小数点を選択したときの、カスタムフィールドでの絞り込み

すみません、上の自己レスになります。
上で質問させていただいた、カスタムフィールドを浮動小数点で設定した場合なのですが、藤本さんの別プラグイン「ブログ記事詳細検索プラグイン」で解決することが、ほぼできそうです。
ただ、一点気になる挙動があったので、それはそちらでコメントさせていただきます。(ブログ記事詳細検索プラグイン(その20)
スレ汚しですみません((((-.-;

コメントする


Facebookでコメント

試験的にFacebookのコメントフォームを設置しました。