検索画面と通常表示画面をモジュールで分離した。
えっと、YakiBikiで「モジュール」というのは、いわゆる一機能単位の画面分割名みたいな感じです。
http://.../?mdl=register : 新規アカウント登録 http://.../?mdl=user : ユーザー管理画面 http://.../?mdl=category : カテゴリ管理画面 http://.../ : (モジュールの指定がない場合は'yakibiki'モジュールが起動する)
で、これまではというかそう語れるほど全然作り込んでいなかったんですが、デフォルトのyakibikiモジュールは検索と表示画面を兼ねていました。
http://.../?id=xxx... : データ指定の表示や編集 http://.../?t=xxx&c[]=1&c[]=3&... : 'id'パラメータがない場合は検索
これ、分離します。えっと、つまり「トップページ」が最初に見れた方が違和感が無いだろうからです。主にWikiから入ってきた人たちを考えての措置と、あと企業内で使う場合にやはり「トップページ」を表示できる普通のアプリなんだ、という安心感というか機能というかオプションは有るべきだと思うからです。
確かにYakiBikiはニュースサイトちっくな検索時の一覧表示形態が売りではあるのですが、アクセスした最初のページを、自分の思うとおりの内容にできないというのはやはり不満に思うケースが明らかに多いように予想できたからです。よって、デフォルトデータIDの設定値をconfig.phpに追加しました。
// data id (equals top page document data id) _YB('default.did', 1);
これですね。特にIDが指定されないデフォルトURLでアクセスされた場合、yakibikiモジュールが起動され、IDパラメータが存在しないので、この設定値のdata IDの通常Viewモードで表示します。つまり、トップページが表示されることになります。
データタイプがどうなるかは未知なのですが、PukiWiki機能を取り込む時にユーザーマニュアルページも取り込むでしょうから、そのタイミングでHTMLデータかWikiデータでTopページ、あと、menupageを作成するようなインストーラが必要とされることでしょう。
うう、自分で自分の首を絞めつつある・・・。
ええっと、あと、それに伴い今まで迷ってた、「menupageとsearchboxの表示切り分けをどうするか」がこれでスッキリしました。
つまり、PukiWikiに見せかけたい場合はsearchboxは邪魔ですので表示しません。逆に、searchboxを表示したい場合はsearchモジュールを利用中であり、従ってmenupageは表示しません。
一応footer_tpl.htmlのSmartyでのinclude時に、show_searchboxとshow_menupageの二つを両方同時に指定することも出来ますが、defaultテーマの各ページでは両方を指定することは今後は無くなります。
ええっと、あんまりまとまって無いんですが、見た目がスッキリしましたのでなんだかやる気が湧いてきた次第です。