**[[質問箱5/35]] [#v40ff95f]
#author("2018-03-11T21:37:03+09:00;2011-01-31T13:33:44+09:00","","")
**[[質問箱/5035]] [#v40ff95f]
|RIGHT:70|LEFT:410|c
|~カテゴリ|サイト管理・運営|
|~サマリ|今日の日付を検索し、一覧を表示する|
|~バージョン|1.4.7|
|~投稿者|[[スギナミ]]|
|~状態|完了|
|~投稿日|&new{2011-01-27 (木) 17:22:42};|
***質問 [#r29240ad]
お世話になります。

トラッカーなど、蓄積されたページ内から~
''本日の日付が入っているページ''~
を検索し、表示したいと思っています。

たとえば、数か月前に
 「○○の作業を2011-01-27までに対応する。」
といった内容を hoge/fuga ページに残していた場合、当日がやってきたら

>
>2011-01-27の検索結果
>- hoge/fuga
>

という検索結果をページ内に常に出力するようにしたいです。~
(負荷はかかるでしょうが、全ページを検索対象としてFrontPageに出力したい)

[[page_search.inc.phpプラグイン>自作プラグイン/page_search.inc.php]]を利用してみましたが、~
静的なキーワードでしか検索ができないように感じたため質問を投稿しました。~
ご教授頂ければ幸いです。


***回答 [#tf0357ca]
- ページ名の相対表記からの変換もそうですが、プラグイン側で対応していないと動的なパラメータは扱えないですからね。それで、「常に出力する」というのはどのページを表示していても出力するという解釈でいいのでしょうか? --  &new{2011-01-27 (木) 18:29:14};
-- どのページを表示していても出力するにはスキンの内部で処理をすることになるので、プラグイン側が動的なキーワードに対応していなくても、スキン内でキーワードを作ってからプラグインに渡すことで擬似的に対応させられます。日付のキーワードを作るならget_date('Y-m-d')の実行結果を使えばいいでしょう。スキン内でプラグインを使う方法は[[質問箱4/547]]などを参照。 --  &new{2011-01-27 (木) 19:56:19};
-- どのページを表示していても出力するにはスキンの内部で処理をすることになるので、プラグイン側が動的なキーワードに対応していなくても、スキン内でキーワードを作ってからプラグインに渡すことで擬似的に対応させられます。日付のキーワードを作るならget_date('Y-m-d')の実行結果を使えばいいでしょう。スキン内でプラグインを使う方法は[[質問箱/4547]]などを参照。 --  &new{2011-01-27 (木) 19:56:19};
- 「プラグイン側で対応していないと動的なパラメータは扱えない」とのことですのでpage_searchをいじることで対応しました。
 +     if ($regex == '&GETDATE') $regex = '/' . get_date('Y-m-d') . '/';
       if ($page == '') $page = strip_bracket($vars['page']);
と記述して、FrontPageには
 &page_search('',&GETDATE);
と記述することで一覧表示できました。&br;今回は利用しませんでしたが、スキン内キーワードを利用するのテクニックは勉強になりました。ありがとうございました。 -- [[スギナミ]] &new{2011-01-31 (月) 13:33};

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.035 sec.

OSDN