Blog

MTのテーブル構成について

2013.10.30Cat:MovableType 役員

MTのサイトで複数条件検索を作る必要があり、MTのテーブル構造について調べた。

 

今回は例えば金額やエリアなどカスタムフィールドを多様しているため

mt_entryテーブルではなくmt_entry_metaから検索する必要があり、中身を調査した。

以下が簡単な構造

entry_meta_entry_id エントリーID
entry_meta_type 指定したテンプレートタグ
entry_meta_vchar チェックボックスで設定された値
entry_meta_vchar_idx テキストボックスで設定された値
entry_meta_vdatetime 日付で設定された値
entry_meta_vdatetime_idx ?
entry_meta_vinteger チェックボックスの値?
entry_meta_vinteger_idx チェックボックスの値?
entry_meta_vfloat ?
entry_meta_vfloat_idx ?
entry_meta_vblob ?
entry_meta_vclob テキストエリアで設定された値

 

検索をかけたい項目(値段やエリアなど)に対してentry_meta_typeで絞り込み、

それに対する値をその後の適切なカラムから取得する。

注意点としては同一のエントリーIDで複数レコードあるため、

条件をレコードごとにマッチさせなければいけない。

AND検索であれば4つ条件を出したら4レコードの条件が合致しているかということをプログラムで判断する必要がある。

 

あと、検索は上記で問題ないのだが、最も大変だったのが検索したエントリーのパスを取得すること。

パーマリンクの精製方法など色々と調査したが、mt_fileinfoというテーブルを発見。

結局これで行けそうだ。

Author Profile

hoshino

ECのことを中心に書きたいと思います。
ネタが無いときはプログラムやデザインのことも書きます。

» 投稿一覧
  • Launch Cart次世代ECサイト構築システム 初期月額無料
  • LaunchMovie ECに特化した動画制作サービス

Archive

ページTOPへ