« Yahoo!カテゴリWebサービスとカテゴリID(2) | メイン | サーバダウンしました。 »

MovableType 「CustomFields」入力項目の拡張

MovableType 3.2 で、エントリー等に項目を独自に追加するのに何かプラグインはないか探したところ、Googleで「Movable 拡張 項目」で検索して、「CustomFields」を見つけました。
これを導入すると、エントリーやカテゴリーに好きな項目を新たに追加できます。
企業検索ComSearchプレスリリースのシステムにMovableTypeを使って、エントリーの追加項目に「CustomFields」にIDとか企業名、URL等に使用しています。

http://www.movalog.com/plugins/wiki/CustomFields
の「Installation Instructions」のリンクをたどるとダウンロードできます。
導入方法、追加方法はCustomFieldsで検索すれば出てきますので、ここでは、追加された項目&データはデータベースのどこに拡張されるか、及び別システムのプログラムからこの追加項目をどう参照するか記載しておきます。

(MEMO)

例)エントリーに、comid,comurl,comnameを拡張した場合。(DBはmysql)

-----------------------
格納DB表:mt_plugindata
-----------------------
項目名      :内容
-----------------------
plugindata_id  :id番号
plugindata_data :[BLOB] MTでシリアル化されたデータが入る。
plugindata_key  :entry_xx (xxは、mt_entryのentry_id番号)
plugindata_plugin:entries
-----------------------

で、phpからエントリーID 4の拡張データを取得したい場合は、
MTのMTSerialize.phpをincludeして、mt_plugindataからplugindata_data
を取得して、unserialize()するとデータを取ることができます。

----------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
</head>
<body>

<?php

include('xxx/xxx/mt/php/lib/MTSerialize.php');

$mt = new MTSerialize;

$con = mysql_connect("localhost", "xxxx", "xxxx");
mysql_select_db("zzzzz");

$sql = "select plugindata_data from mt_plugindata
where plugindata_plugin = 'entries'
and plugindata_key = 'entry_4'";

$result = mysql_query($sql);
$rec = mysql_fetch_row($result);
$value = $mt->unserialize($rec[0]);

//--------------------
print var_dump($value);
//--------------------
print "<br>";
print $value['comid'];
?>
</body>
</html>

トラックバック

・このエントリーのトラックバックURL:
http://crenazumina.picolix.jp/release/mt-tb.cgi/865

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

認証キー を入力してください:


Syndicate this site (XML) Copyright © 2005 picolix.com All rights reserved.