Movable Type 4.1 カスタムフィールドのデータの実体
先日、「Movable Type カスタムフィールドの DB スキーマ」というエントリーを投稿しましたが、「実体がどこにあるか分かりません」という質問を頂きましたので、本エントリーにて紹介致します。
ブログ記事/ウェブページの場合
テーブル名:mt_entry
フィールド | フィールドの意味 | 値 | 値の意味 |
---|---|---|---|
entry_class | クラス | ブログ記事:entry ウェブページ:page | |
entry_meta | カスタムフィールドデータ | BLOB型(バイナリ) |
カテゴリー/フォルダの場合
テーブル名:mt_plugindata
フィールド | フィールドの意味 | 値 | 値の意味 |
---|---|---|---|
plugindata_id | プラグインデータID | 1,2… | 自動付与 |
plugindata_data | カスタムフィールドデータ | BLOB型(バイナリ) | |
plugindata_key | システムオブジェクトのキー情報 | ”category_1" "folder_3"等 | システムオブジェクト+ID |
plugindata_plugin | プラグイン名 | "CustomFields"固定 |
ということで、カスタムフィールドに設定されたデータは BLOB 型で保存されるので、phpMyAdmin ではそのまま参照することはできません。
カテゴリー/フォルダの場合は次のような感じです。
参考までに、phpMyAdmin での2つのテーブル構造のスクリーンショットも載せておきます。
mt_entry
mt_plugindata
- Movable Typeのカスタムフィールドのオプションの表示名を表示する方法
- Movable Typeの日付カスタムフィールドを使って「予定」「開催中」「終了」を別々に表示する方法
- Movable Typeの日付カスタムフィールドを2つ使って「開催中」を表示する方法
- Movable Typeの日付カスタムフィールドを使って現在時刻と比較する方法
- Movable Typeのカスタムフィールドに入力した複数のブログ記事IDからブログ記事リストを出力する
- Movable Typeのポップアップコメントにカスタムフィールドを表示する
- コメントカスタムフィールドの値をクッキーに保存する方法
- コメントプレビューでカスタムフィールドの値を表示する
- Movable Typeのサインアップ画面に表示するカスタムフィールドの順序を並べ替える
- コメント用カスタムフィールドの投稿フォームのカスタマイズ(その2)
- コメント用カスタムフィールドの投稿フォームのカスタマイズ(その1)
- 特定のカスタムフィールドの情報を出力する(その2)
- 特定のカスタムフィールドの情報を出力する
- Movable Type 5.0 のカスタムフィールドをカテゴリで振り分ける
- カスタムフィールドの入力文字数が改善
≫ Movable Type4.1 2つの疑問 from 小さな世界
お仕事でMT4.1を使ってサイトを構築しています。
しばらくMTは触っていませんでしたが、4以降になってずいぶん変わったのですね。結構CMSらしくなって、... [続きを読む]
≫ RightField の Plugindatの件 from ソファーACが好調!のデザイン事務所のオフィシャルBLOG
だいぶとサボッてしまいました。 いろんな人から突っ込みが。。 すみません。生き... [続きを読む]
質問させていただいたfridaです。
こちらをヒントにDBを見直したところ私はmt_plugindataの中にplugindata_key = 'entry~'としてデータが登録さているのを確認することが出来ました。
理由は良くわかりませんが無事発見できてよかったです。
早速SQLを使ってで中身を見てみたのですが、MTSerialize.phpでserializeされた形でデータが入っているのですね。
既に登録済みのブログ記事のカスタムフィールドに値を追加するのに、CSVから放り込めたら楽だと思ったのですが、ちょっと難しそうなので諦めました。
あくまでもMTから登録してMTから取り出すことを前提に活用してみたいと思います。
末尾になりますがご回答ありがとうございました。
>fridaさん
こんばんは。
ご連絡ありがとうございました。
ではでは!
こんにちは
このページの紹介ありがとうございます。
fridaさんと同じになりそうです。
mt3.3 + RightFieldsはmysqlに自分でネーミングしたテーブルに
追加フィールドをすべて登録してphpMyAdminで操作が可能です。
MT4.1のカスタムフィールドはBLOB型(バイナリ)でユーザからは
ブラックボックス化された状態だとわかりました。
バックアップのxmlも見てみましたが操作がいまいちでした。
高度なインターフェースの持ったxmlエディタがあれば別ですが。
excel2007では領域がでかすぎです。
ということで私の目的ではMT4.1が使えないことがわかりました。
次のバージョンアップでカスタムフィールドが扱えるようになって
ホシイ~なぁ!!!
なぜブラックボックス化されたんでしょうか?
皆さんもそう思いませんか。
技術的な理解が違っていたら厳しくご指導ください。
よろしくお願いします。
>小さなスタンプさん
こんばんは。
ご質問の件ですが、MT4対応のRightFieldsを待つしかないようです。
http://digibot.jp/blog/2007/07/movabletype4rightfields.html
それではよろしくお願い致します。
こんにちは。はじめまして。
私もカスタムフィールドの内容を、
一括してcsvなどのテキストファイルからアップしたいと思っていまして、
ここにたどり着きました。
最近、以下のような記述を見つけました。
プラグインで保存するという紹介がありますが、perlで可能なのでしょうか?
http://junnama.alfasado.net/online/2008/02/post_152.html
これなら、改造してcgiプログラムで作れそうなのですが、私には理解が及びませんでした。
カスタムフィールドの一括入力の方法をどなたか開発できないでしょうか。
他人任せですみませんが、ご教示いただけると幸いです。
>PIROさん
こんばんは。
ご返事遅くなりすいません。
ご質問の件ですが、「csvなどのテキストファイルからアップ」というのは、具体的にカスタムフィールドについて、どのような利用を想定されてますでしょうか(csvファイルの意味は把握しています)。
それではよろしくお願い致します。
はじめまして。
私もカスタムフィールドへのデータの一括インポート方法を探してこちらにきました。
今、ローカル情報を載せたサイトをMTで制作しておりまして、
周辺のお店の情報(電話、場所、メニュー、画像、営業時間など)をインポートできないかと考えております。
なにか方法はあるのでしょうか?
>halさん
こんばんは。
とりあえず簡単なスクリプトを作ってみます。
何かご希望があればおっしゃってください(ご要望通りにならない可能性大ですが、使い方がイメージしやすくなるので)。
それではよろしくお願い致します。
カスタムフィールドに設定されたデータは BLOB 型で保存されるとのことですが、
BLOB型の値を取得して、検索システムをつくるのは可能でしょうか?
普通、txt型だったり、intだったりいろいろあるとおもうのですが、
最近はじめた初心者なので、よくわかりません。
よろしくお願いいたします。
>whiteさん
こんにちは。
ご質問の件ですが、SQLではなく、一旦BLOBを取得してから検索するのであれば、MT(Perl)のプログラムを流用すれば操作可能と思われます(察するにDB初心者の方ではないですよね)。
下記の記事が参考になるかもしれません。
Junnama Online (Mirror) - カスタムフィールドあれこれ。
なお、4.2ではカスタムフォールドのスキーマが多分変更されます。
それではよろしくお願い致します。