-
-
Save mersy/a4e28a662744dba1a1cd to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 検索結果ページの場合 | |
if ($("input[name='searchEnable']").val() === "true") { | |
// URLに検索パラメータがある場合 | |
if (location.search) { | |
// 検索オプションを開いておく | |
$("#searchOption").show(); | |
// URLパラメータをデコードして&で分割して配列searchParamsにセット。?は削除。 | |
var searchParams = decodeURIComponent(location.search.replace(/^\?/, "")).split("&"); | |
// HTML上のページタイトルに表示させるものを入れる変数を初期化 | |
var pageTitleItem = { | |
title: "", | |
tag: "", | |
category: "" | |
}; | |
// 上のpageTitleItemの内容をgetApiEntries()に渡すための変数を初期化 | |
var pageTitle = []; | |
// 配列searchParamsに入っているパラメータの数だけループ | |
for (var i = 0, l = searchParams.length; i < l; i++) { | |
// 配列searchParamsには search=hoge のように = ごと入っているので、=で分割 | |
// 分割した左(パラメータ名)が searchParam[0]、右(値)が searchParam[1] となる。 | |
var searchParam = searchParams[i].split("="); | |
// 値が「未選択」の場合は次のループへスキップ | |
if (searchParam[1] === "未選択") { | |
continue; | |
} | |
// パラメータ名によって処理を分ける。それぞれページタイトルに入れる文言にしてpageTitleItemにセット | |
switch (searchParam[0]) { | |
// text(キーワード検索)の場合 | |
case "text": | |
var _words = searchParam[1].replace("+", " "); | |
params.search = _words; | |
$("input[name='text']").val(_words); | |
if (searchParam[1]) { | |
pageTitleItem.title = "キーワード「" + _words + "」"; | |
} | |
break; | |
// カテゴリーの場合 | |
case "category": | |
params.category = searchParam[1]; | |
$("#categoriesSearch input:radio").each(function(){ | |
if (this.value === searchParam[1]) { | |
$(this).prop("checked", true); | |
} | |
}); | |
pageTitleItem.category = "カテゴリ「" + searchParam[1] + "」"; | |
break; | |
// タグの場合 | |
case "tag": | |
params.tag = searchParam[1]; | |
$("#tagsSearch input:radio").each(function(){ | |
if (this.value === searchParam[1]) { | |
$(this).prop("checked", true); | |
} | |
}); | |
pageTitleItem.tag = "タグ「" + searchParam[1] + "」"; | |
break; | |
} | |
} | |
// キーワード検索、カテゴリ絞り込み、タグ絞り込み、それぞれがある場合に上記でタイトル用の文言にした値をpageTitle配列にpush | |
if (pageTitleItem.title) { pageTitle.push(pageTitleItem.title); } | |
if (pageTitleItem.category) { pageTitle.push(pageTitleItem.category); } | |
if (pageTitleItem.tag) { pageTitle.push(pageTitleItem.tag); } | |
// pageTitle配列を「, 」で連結した文字列にして、siteID、パラメータとともにgetApiEntriesに渡す | |
getApiEntries (1, params, pageTitle.join(", ")); | |
} | |
else { | |
// URLパラメータがセットされていない場合は下記文言を表示 | |
$resultMsg.text("検索条件を指定してください。").show(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment