Movabletypeコンテンツデータ2

らら
らら

はじめに

以前、書いたものの続きです。

コンテンツデータの応用?

店舗情報をコンテンツデータに登録した例で・・・

目標

javascriptで検索を作成して、ウェブページで登録内容を差し込みする。MTの検索を使用しない場合

200-300件のデータなら検索できるかな。。1000件未満ですね。

コンテンツタイプ下記の感じで登録、blog_idは1の場所で登録を想定

コンテンツタイプの名前は店舗情報

コンテンツフィールドの名前


ブログID
店舗名
住所
住所2
電話番号

javascriptで読み込みできるファイルを作成する

Movabletypeコンテンツデータ

Movabletypeコンテンツデータ


var shops = [
<mt:Contents content_type="店舗情報">
'<mt:ContentField content_field="店舗名"><mt:ContentFieldValue></mt:ContentField>','<mt:ContentField content_field="住所"><mt:ContentFieldValue></mt:ContentField>','<mt:ContentField content_field="住所2"><mt:ContentFieldValue></mt:ContentField>','<mt:ContentField content_field="電話番号"><mt:ContentFieldValue></mt:ContentField>'],
</mt:Contents>
];

下記の感じでjsを読み込みして表示なり検索なりできるかな。。。


<script type="text/javascript" src="shops.js"></script>
<script>
		var keyword = $("#keyword").val();
		$(".list").remove();
		var insert = $('<ul>').addClass('list');
		for(var i = 0; i < shops.length; i++) {
			var shop	= shops[i];
			var	shop_name	= shop[0];
			var shop_adr	= shop[1];
			var shop_adr2	= shop[2];
			var shop_tel	= shop[3];
			//検索したいなら・・
//			if(shop_name.indexOf(keyword) > -1 ) {
				insert.append('<li>'+shopname+shop_adr+shop_adr2+shop_tel+'</li>');
//			}
		}
		$('#list').append(insert);
</script>
</head>
<body>
<div id="list">
</div>
</body>
</html>

あと、ウェブページ、記事でMTタグを有効にする方法

PageBody、EntryBodyにmteval="1"を追加しておく。これ忘れがち・・・

直接テンプレートに記述する場合はいらないです。

ただ。WYSIWYGで保存するとタグは壊れます・・・・


<mt:PageBody mteval="1">

<mt:EntryBody mteval="1">

上記設定を確認後、ウェブページ、記事に下記を追加

13axxxxxxxxxxxxxxxdは上記画像のユニークIDを指定します、今回はブログごとに作成するイメージです。

店舗ブログなどある場合にデータ共有化します。

この場合、日本語だと正しく動作しないのでユニークIDを指定します。

blog_id="1"はコンテンツデータを登録したサイトを選択します、

下記で該当のblog_idの店名、住所などを下記で出力することができます、


<mt:setvarblock name="__blogid"><$mt:BlogID$></mt:setvarblock>
<mt:Contents content_type="店舗情報" field:13axxxxxxxxxxxxxxxd="$__blogid" blog_id="1">
<mt:ContentField content_field="店舗名"><mt:ContentFieldValue></mt:ContentField>
<mt:ContentField content_field="住所"><mt:ContentFieldValue></mt:ContentField>
<mt:ContentField content_field="住所2"><mt:ContentFieldValue></mt:ContentField>
<mt:ContentField content_field="電話番号"><mt:ContentFieldValue></mt:ContentField>
</mt:Contents>

さいごに

Movabletypeコンテンツデータにインポート/エクスポートがないことに気づく。。。

今まで実サイトでデータ入れてたから・・気にしてなかったけど・・・

開発環境から・・・100件いれなおしきつい・・・

有料であるようですが・・・1回こっきりで・・・・高いです・・

関連記事

次の記事はこちらから
https://www.omakase.net/blog/2022/11/movabletypecontent.html

関連記事