logo
home > web > カスタムフィールドの種類を変更する方法について

カスタムフィールドの種類を変更する方法について

MTのカスタムフィールドの種類を変更する方法について

カスタムフィールドは一度作成してしまうと名前、ベースネーム、テンプレートタグ等は
変更できますが、種類だけは変更することができません。

そこでDBを直接操作して種類を変更する方法を解説します。

自分はテキストからテキスト複数行に変更しました。


変更するには2つのテーブルを更新する必要があります。
(作成したカスタムフィールドに一つもデータを入力していなければ1テーブルで済みます。)


■修正テーブル
修正が必要なのは下記のテーブルです。

・mt_field
 ⇒カスタムフィールド作成時に入力したベースネームや種類が格納されています。

+-------------------+--------------+------+-----+---------+----------------+
| Field             | Type         | Null | Key | Default | Extra          |
+-------------------+--------------+------+-----+---------+----------------+
| field_id          | int(11)      | NO   | PRI | NULL    | auto_increment |
| field_basename    | varchar(255) | YES  | MUL | NULL    |                |
| field_blog_id     | int(11)      | YES  | MUL | NULL    |                |
| field_default     | mediumtext   | YES  |     | NULL    |                |
| field_description | mediumtext   | YES  |     | NULL    |                |
| field_name        | varchar(255) | NO   | MUL | NULL    |                |
| field_obj_type    | varchar(50)  | NO   | MUL | NULL    |                |
| field_options     | mediumtext   | YES  |     | NULL    |                |
| field_required    | tinyint(4)   | YES  |     | NULL    |                |
| field_tag         | varchar(255) | NO   |     | NULL    |                |
| field_type        | varchar(50)  | NO   | MUL | NULL    |                |
+-------------------+--------------+------+-----+---------+----------------+




・mt_entry_meta
 ⇒各記事やWEBページで入力されたカスタムフィールの値が格納されています。

+--------------------------+--------------+------+-----+---------+-------+
| Field                    | Type         | Null | Key | Default | Extra |
+--------------------------+--------------+------+-----+---------+-------+
| entry_meta_entry_id      | int(11)      | NO   | PRI | NULL    |       |
| entry_meta_type          | varchar(75)  | NO   | PRI | NULL    |       |
| entry_meta_vchar         | varchar(255) | YES  |     | NULL    |       |
| entry_meta_vchar_idx     | varchar(255) | YES  |     | NULL    |       |
| entry_meta_vdatetime     | datetime     | YES  |     | NULL    |       |
| entry_meta_vdatetime_idx | datetime     | YES  |     | NULL    |       |
| entry_meta_vinteger      | int(11)      | YES  |     | NULL    |       |
| entry_meta_vinteger_idx  | int(11)      | YES  |     | NULL    |       |
| entry_meta_vfloat        | float        | YES  |     | NULL    |       |
| entry_meta_vfloat_idx    | float        | YES  |     | NULL    |       |
| entry_meta_vblob         | mediumblob   | YES  |     | NULL    |       |
| entry_meta_vclob         | mediumtext   | YES  |     | NULL    |       |
+--------------------------+--------------+------+-----+---------+-------+



    * entry_meta_vcharには、URLタイプの値。
    * entry_meta_vchar_idxには、テキストタイプの値と、ドロップダウン&ラジオボタンの値。
    * entry_meta_vdatetimeは、おそらく日付と時刻(日付か時刻)。未検証。
    * entry_meta_vdatetime_idxには、日付と時刻(日付と時刻)の値。
    * entry_meta_vintegerは、不明。
    * entry_meta_vinteger_idxは、チェックボックスの値。
    * entry_meta_type、entry_meta_vchar、entry_meta_vchar_idxは、不明。
    * entry_meta_vclobには、テキスト(複数行)と、アイテム・オーディオ・ビデオ・画像の各値が、assetIDと関連付けられ、なにやら変なマークアップされて入ってます。



JavaScript Journal | JavaScript総合情報サイト

このブログ記事について

このページは、marooonが2011年1月 6日 19:08に書いたブログ記事です。

次のブログ記事は「MTのブログ記事の入力項目を追加してみよう」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。