geeklog いぢり (6)

directory.php なんですが、引数ナシで呼び出した時に「今年の月毎の一覧表示」という形で出力。新着順に記事が出てこないものか。
このエントリにて

system/cuscom/custom_menuentries.php でカスタムメニューなソレにしてるんで、 CUSTOM_menuEntries() ん中で当年当月を取って渡してあげれば済みそげ。

みたいな微妙なコト書いてますがダウト。当年当月に記事がなかったらどうすんだ、と。基本的に directory.php の DIR_displayAll() 手続きをなんとかしないと微妙??
片ハラ痛いって最後で書いてますが正にその通りだな。

色々ページを表示させてみる。

directory.php だけだと、当年の月毎の一覧。directory.php?topic=all&year=2007 でも同じなんですが、下にナビっぽいリンクが出てくる。
directory.php 見てるに、ここの修正は大変ぽいのが分かる。で、stories で grep してたらまず、article.php とゆーのを発見。アドレス欄に入力して表示すると、index.php にリダイレクトされてる模様。駄目か、と言いつつ見てると directory/topiclist.php ってのを発見。表示してみるに記事へのリンクがリストになっている模様。
で、いっちゃんケツを見てみるに以下

// MAIN

$display = '';

$display .= COM_siteHeader('menu', $LANG_DIR['title']);
if (isset($_GET['msg'])) {
    $display .= COM_showMessage (COM_applyFilter ($_GET['msg'], true));
}

$display .= menutopics($tid);


//
$display .= COM_siteFooter();
echo $display;

menutopics を liststory にしてみたらどうなるか、と言いつつ修正。

結局

いくつかやってみましたが、とりあえず内容まで表示、なソレは結構な量の修正が必要みたい。これ、rails か Django かでイチから書いた方が分かりやすそげ。
ちなみに、directory/topiclist.php は若干良さそうですが、これについても新着順に記事へのリンクが出るのみ、という作りになっている模様。公開する、という意味では簡単に手を入れるのは怖いんですが。