STERFIELD
開発ナレッジ2013.10.31

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

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というテーブルを発見。

結局これで行けそうだ。

WRITER

hoshino

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

この著者の記事を見る

CONTACT

記事の内容について
相談したい方へ

実際の進め方は、状況を伺ってからご提案します。

2営業日以内にご返信します
資料ダウンロード無料相談に申し込む