よくtwitterを定点観測しているんですが(主にTLとfreoとCSP)検索結果の順番がどうのというツイートがfreoのほうであったので確認してみたんです。すると初期だと日付に対して昇順降順を設定する項目が管理ページの設定項目にあるんですね。

ただこれだと対象をタイトルなどにしたり、実際に検索するユーザーが昇順降順を設定することはできないんですよ。

なので試験的に自分の検索プラグイン改でユーザー単位で昇順降順設定できるようにはしてみたのですが、中身の動作自体を既存のものと入れ替えてしまったせいで設定項目の方の初期順番が機能しないことに……

回避方法はあると思うのですが、自分の知識が正直いってまじめにプログラムを勉強していなかったためにいまいち回避できずといった状況に……

フォームで並びの指定データを飛ばしているので$freo->config['plugin']['search']['order']にそのデータを入れることができれば一応回避可能なのですが、うまく入らず……(というか絶対記述方法が自分間違っている)

ちなみに$freo->config['plugin']['search']['order']は初期ファイルで記述されている並び順を判定するデータ……だと思う。

やはりまじめに勉強するべきか……いやしかし3DCG始めた今となってはそんな時間殆ど無いし……

具体的には現在はどうやっているのか

一応下記のようにしてやっているだけ。(要検索プラグイン改? 本家検索プラグイン未検証)

search_descとかdatetime_descのままでもいいけど、一応既存のと差別化させておかないと自分が混乱するので変更しています。

page.search.php
//表示順設定
if ($freo->config['plugin']['search']['order'] == 'datetime_desc') {
	$order = ' ORDER BY datetime DESC';
} else {
	$order = ' ORDER BY datetime';
}

if ($_GET['search_order'] == 'search_desc') {
	$order = ' ORDER BY datetime DESC';
} else {
	$order = ' ORDER BY datetime';
}

に書き換え

検索プラグイン改で使用しているform内
<li><select name="search_order" style="height: 23px;">
	<option value="search_desc">降順</option>
	<option value="search_asc"{if $smarty.get.search_order == 'search_asc'} selected="selected"{/if}>昇順</option>
</select></li>

を追記

archive


×

ログイン