【freo】【freoTips】【プラグイン系TIPS】サークル管理プラグインでサークルをフリーワードで検索する方法
- 2013/01/28 20:15
- サークル管理プラグイン
- フリーワード検索
- 67
freo公式サイトで配布されているサークル管理プラグインで、サークルの「サークル名」「紹介文」「サークル代表者名」「企画名」「スペースNO」「企画詳細」に記載されている情報をフリーワード検索する方法は以下のとおりです。
(複数ワード検索はできません。)
サンプル
下記の編集を加えると、サークルをフリーワードで検索し一覧表示することができます。
当サイトが利用しているfreoユーザーリンク集はサークル管理プラグインを利用していますが、本リンク集でもこのTIPSを利用しています。
本リンク集の左部に検索メニューがありますので、自由に検索してみて下さい。
導入方法
サークルをフリーワードで検索できるようにする方法は以下のとおりです。
-
[freo/libs/freo/plugins/page.circle.php]の1391行目あたりにある
if (isset($_GET['category'])) {
$condition .= ' AND category_id = ' . $freo->pdo->quote($_GET['category']);
}の直前に、以下のように加筆する。
if (isset($_GET['word'])) { $condition .= ' AND name LIKE ' . $freo->pdo->quote('%' . $_GET['word'] . '%') . ' OR text LIKE ' . $freo->pdo->quote('%' . $_GET['word'] . '%') . ' OR owner_name LIKE ' . $freo->pdo->quote('%' . $_GET['word'] . '%') . ' OR plan_name LIKE ' . $freo->pdo->quote('%' . $_GET['word'] . '%') . ' OR space LIKE ' . $freo->pdo->quote('%' . $_GET['word'] . '%') . ' OR plan_text LIKE ' . $freo->pdo->quote('%' . $_GET['word'] . '%'); }
-
[freo/templates/plugins/circle/default.html]の任意の場所に、以下のように記述する。
<h2>サークルキーワード検索</h2> <form action="{$freo.core.http_file}/circle" method="get"> <fieldset> <legend>サークル検索フォーム</legend> <dl> <dt>キーワード</dt> <dd><input type="text" name="word" size="50" value="{$smarty.get.word}" /></dd> </dl> <p><input type="submit" value="検索する" /></p> </fieldset> </form>
-
[freo/templates/plugins/circle/default.html]の3~10行目の検索結果表示部分
<ul>を、以下のとおり編集する。
<!--{if $smarty.get.category}--><li>カテゴリー 「{$plugin_circle_categories[$smarty.get.category].name}」の検索結果は以下のとおりで す。</li>
<!--{elseif $smarty.get.tag}--><li>タグ「{$smarty.get.tag}」の検索結果は以下のとおりで す。</li> <!--{elseif $smarty.get.coupling}--><li>ジャンル<strong> 「{$smarty.get.coupling}」</strong>を扱っているサイトの検索結果は以下のとおりです。< /li>
<!--{else}-->
<li>登録されたサークルは以下のとおりです。</li>
<li>サークル名をクリックすると、詳細が表示されます。</li>
<!--{/if}-->
</ul>
(<!--{elseif $smarty.get.word}--><li>検索ワード「<strong>{$smarty.get.word}</strong>」の検索結果は以下のとおりです。</li>の一行を追加しています)<ul> <!--{if $smarty.get.category}--><li>カテゴリー「{$plugin_circle_categories[$smarty.get.category].name}」の検索結果は以下のとおりです。</li> <!--{elseif $smarty.get.tag}--><li>タグ「{$smarty.get.tag}」の検索結果は以下のとおりです。</li> <!--{elseif $smarty.get.word}--><li>検索ワード「<strong>{$smarty.get.word}</strong>」の検索結果は以下のとおりです。</li> <!--{else}--> <li>登録されたサークルは以下のとおりです。</li> <li>サークル名をクリックすると、詳細が表示されます。</li> <!--{/if}--> </ul>
- [freo/libs/freo/plugins/page.circle.php][freo/templates/plugins/circle/default.html][freo/templates/plugins/circle/view.html]をアップロードする。