YANO's digital garage

Copyright ©YANO All rights reserved. https://www.bravotouring.com/~yano/

Last-modified: 2024-04-17 (水)


[一語一絵/IT系]

rNoteのマクロ拡張 / 2005-10-15 (土)

[External]rNoteによる記事の並び。

Topページではskinのsortオプションで「コメント込みで更新が新しい順」に並ぶようにしているのだが、後から日付指定で表示する時には「同じ日の記事は古い順」に並べたいと感じていたので、Topページ以外では「古い順」になるように変更して日付指定では期待通りに表示されるようになった。

ところが先月分を見ようとした際にも、1日分から「古い順」に表示されてしまい、違和感大爆発。やはり先月分は月末から表示した方が良い気がする。で、各方向から検討の結果、skinのマクロで条件を細分化できるようflag"bDaily""bMonthly"を追加する事に。

というわけでrnote.phpskin_macro関数を

  case 'flag':
   switch($value){
   case 'bHome':
    if(($_GET['u']=='')&&($_GET['d']=='')) $bFlag = true;
    break;
// bDaily対応 by YANO
   case 'bDaily':
    if(ereg("^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]\$",$_GET['d'])) $bFlag = true;
    break;
// bMonthly対応 by YANO
   case 'bMonthly':
    if(ereg("^[0-9][0-9][0-9][0-9]-[0-9][0-9]\$",$_GET['d'])) $bFlag = true;
    break;
てな具合に改造し、"yyyy-mm-dd"という年月日指定がされている時にだけ「古い順」で並ぶよう変更した。

PHPereg関数の正規表現で数字を表わすメタキャラクタ\dが期待通りに判定されなかったので、止む無く[0-9][0-9][0-9][0-9]というベタな書き方に。つまらんとこで随分と時間を浪費してしまったな~。

【参照】
●rNote http://rinn.e-site.jp/rnote/