/*
/* 並び替えにより検索条件を変更
*/
function beforeSubmit(submit){
var $form = $('.knowledge-search'),
order = $form.find('[name="js-order-radio"]:checked').val();
// 検索条件を一旦リセット
$form.find('.js-order-parameter').remove();
$form.find('.js-order-empty').remove();
// オススメ順、指標1順、指標2順、指標3順
if( order == 'priority' || order == 'performance1' || order == 'performance2' || order == 'performance3' ){
$form.prepend('<input type="hidden" class="js-order-parameter" name="knowledge_'+order+'@operator" value="nem" />');
$form.prepend('<input type="hidden" class="js-order-parameter" name="field[]" value="knowledge_'+order+'" />');
$form.prepend('<input type="hidden" class="js-order-parameter" name="order" value="intfield-desc">');
// 検索条件が何も無い時
if( $form.find('input[type="checkbox"]:checked').size() == 0 && $form.find('input[type="text"]').val() == '' ){
$form.append('<input type="hidden" class="js-order-empty" name="entry-label@operator" value="nem">');
$form.append('<input type="hidden" class="js-order-empty" name="entry-label@separator" value="or">');
$form.append('<input type="hidden" class="js-order-empty" name="field[]" value="entry-label">');
}
}
// サブミットフラグがあれば、フォームをサブミットする ※submit()では動作しない
if( submit ){
$form.find('[type="submit"]').trigger('click');
}
}
// 並び替え条件を変更した時
$('.knowledge-search input[name="js-order-radio"]').change(function(){
beforeSubmit(true);
});
// 検索ボタンを押下した時
$('.knowledge-search button[type="submit"]').submit(function(){
beforeSubmit(true);
return false;
}); <p class="knowledge-search-order">
並び替え:
<label class="radio"><input type="radio" name="js-order-radio" value="priority" <!-- BEGIN_IF [%{FIELD_PATTERN}/re/priority] -->checked<!-- END_IF -->> <span>オススメ順</span></label>
<label class="radio"><input type="radio" name="js-order-radio" value="datetime" <!-- BEGIN_IF [%{FIELD_PATTERN}/eq/] -->checked<!-- END_IF -->> <span>新着順</span></label>
<label class="radio"><input type="radio" name="js-order-radio" value="performance1" <!-- BEGIN_IF [%{FIELD_PATTERN}/re/performance1] -->checked<!-- END_IF -->> <span>指標1順</span></label>
<label class="radio"><input type="radio" name="js-order-radio" value="performance2" <!-- BEGIN_IF [%{FIELD_PATTERN}/re/performance2] -->checked<!-- END_IF -->> <span>指標2順</span></label>
<label class="radio"><input type="radio" name="js-order-radio" value="performance3" <!-- BEGIN_IF [%{FIELD_PATTERN}/re/performance3] -->checked<!-- END_IF -->> <span>指標3順</span></label>
</p> public function extendsGlobalVars(&$globalVars)
{
// URLコンテキスト上で指定されたフィールドからパラメータのみを取り出す
if( FIELD ){
$globalVars->set('FIELD_PATTERN', str_replace('/', '|', FIELD));
}
}