はじめに
以前、書いたものの続きです。
コンテンツデータの応用?
店舗情報をコンテンツデータに登録した例で・・・
目標
javascriptで検索を作成して、ウェブページで登録内容を差し込みする。MTの検索を使用しない場合
200-300件のデータなら検索できるかな。。1000件未満ですね。
コンテンツタイプ下記の感じで登録、blog_idは1の場所で登録を想定
コンテンツタイプの名前は店舗情報
コンテンツフィールドの名前
ブログID
店舗名
住所
住所2
電話番号
javascriptで読み込みできるファイルを作成する
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