[↑PageTop]
«
»
ブログ検索 タグ検索
申し訳ありません。 該当する記事は削除、又は、公開中止の可能性があります。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Comment

Post

管理者にだけ表示を許可する

2009/05/12 19時頃

タグ別記事を、調べやすくしたい

以前カテゴリーを増やして少しでも情報を探し易くと考えてみたのですが、やはり、1種類のカテゴリーしか設定できないので、柔軟な対応は出来ないですよね。

そこで、重要になってくるのがユーザータグです。
いま、このユーザータグで記事を探し出そうとした場合、画面上部の使用回数の多いタグ一覧か、左のメニュー内のタグ一覧の中から選ぶ事になるのですが、なんだか使いづらいのです。

やっぱり、手動で管理しないとダメかな?と言う事で、MHFでよく使いそうなタグだけを、ドロップダウンリストに収めてメニューに置いてみました。
コレなら、ソート順で悩む事もないでしょう。

一応、タグ別のページに移動した場合、現在のページとリスト内の項目が一致する場合は、自動で選択状態になるようにしてみました。
あと、選択しただけで自動で読み込みます。スクリプト

詰め込みたいタグが多すぎて、リストが長くなってしまったので2つに分けました。
何でも忘れてしまう自分へのメモ。
2次元配列 dataX のフォーマット
1項目 : s = 選択項目   g = グループヘッダー
2項目 : s の場合 タグ
       g の場合 グループ名
3項目 : s の場合 '' なら、タグをそのまま表示
             何かを指定すれば、それを表示
       g の場合 無視
変数名に対応した部分に、同じ色を付けてあります。暗い色で色づけされた部分が対応するフォームを表示している部分です。

関数 disp_form は、ドロップダウンフォームを表示する関数。
引数:
1項目 : 選択状態にする文字列(FC2ブログの、内部変数 <%tag_word>を使用して、タグ検索時の検索語句を与えています。
2項目 : 表示するリストを代入した2次元配列名
3項目 : 表示するフォームに与える名前 (フォームタグの name属性の値にそのまま使われます。)
これだけ、書いておけば、後で困らないかな?

<script language="javascript">
function disp_form(val,form_data,form_name){
var GroupFlg;

document.write('<form action="<%url>" method="get" name="' + form_name + '">');
document.write('<select name="tag" onchange="document.' + form_name + '.submit()" style="width:150px;">');
GroupFlg = 0;
for (var i=0; i<form_data.length; i ++) {
if (form_data[i][0]=='g') {
if (GroupFlg == 1) { document.write('</optgroup>');}
GroupFlg = 1;
document.write('<optgroup label="' + form_data[i][1] +'" />');
}
if (form_data[i][0]=='ge') {
document.write('</optgroup>');
}
if (form_data[i][0]=='s') {
document.write('<option value="' + form_data[i][1] + '"');
if (val == form_data[i][1]) {document.write(' selected');}
if (form_data[i][2] == '') {
document.write('>' + form_data[i][1] + '</option>');
} else {
document.write('>' + form_data[i][2] + '</option>');
}
}
}
if (GroupFlg == 1) { document.write('</optgroup>');}
document.write('</select>');
document.write('</form>');
}

data1 = new Array(
['s', '', '----------'],
['g', '武器', ''],
['s', '大剣', ''],
['s', '双剣', ''],
['s', '片手剣', ''],
['s', '双剣', ''],
['s', '太刀', ''],
['s', '大剣', ''],
['s', 'ハンマー', ''],
['s', '狩猟笛', ''],
['s', 'ランス', ''],
['s', 'ガンランス', ''],
['s', 'ライトボウガン', ''],
['s', 'ヘヴィボウガン', ''],
['s', '弓', ''],
['g', '装備', ''],
['s', '装備', '装備全般'],
['g', 'マイ○○情報', ''],
['s', 'マイトレ', ''],
['s', 'マイギャラリー', ''],
['s', 'マイハウス', '']
);disp_form('<%tag_word>',data1,'list1');

data2 = new Array(
['s', '', '----------'],
['g', '鳥竜種', ''],
['s', 'ドスランポス', ''],
['s', 'ドスゲネポス', ''],
['s', 'ドスイーオス', ''],
['s', 'イャンクック', ''],
['s', 'ヒプノック', ''],
['s', 'ゲリョス', ''],
['s', 'イャンガルルガ', ''],
['g', '飛竜種', ''],
['s', 'リオレイア', ''],
['s', 'リオレウス', ''],
['s', 'バサルモス', ''],
['s', 'フルフル', ''],
['s', 'ディアブロス', ''],
['s', 'グラビモス', ''],
['s', 'ティガレックス', ''],
['s', 'アカムトルム', ''],
['s', 'エスピナス', ''],
['s', 'モノブロス', ''],
['s', 'ベルキュロス', ''],
['s', 'パリアプリア', ''],
['g', '牙獣種', ''],
['s', 'ドスファンゴ', ''],
['s', 'ババコンガ', ''],
['s', 'ドドブランゴ', ''],
['s', 'ラージャン', ''],
['g', '魚竜種', ''],
['s', 'ドスガレオス', ''],
['s', 'ガノトトス', ''],
['s', 'ヴォルガノス', ''],
['g', '甲殻種', ''],
['s', 'ダイミョウザザミ', ''],
['s', 'ショウグンギザミ', ''],
['s', 'アクラ・ヴァシム', ''],
['g', '古龍種', ''],
['s', 'キリン', ''],
['s', 'クシャルダオラ', ''],
['s', 'テオ・テスカトル', ''],
['s', 'ナナ・テスカトリ', ''],
['s', 'オオナズチ', ''],
['s', 'ヤマツカミ', ''],
['s', 'シェンガオレン', ''],
['s', 'ラオシャンロン', ''],
['s', 'ミラボレアス', ''],
['s', 'ミラバルカン', ''],
['s', 'ミラルーツ', '']
);disp_form('<%tag_word>',data2,'list2');

</script>

関連記事

Comment

Post

管理者にだけ表示を許可する


HOME : TOP

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。