【freo】【freoTips】【プラグイン系TIPS】アルバムプラグインでサブカテゴリーを設定する方法
- 2014/08/13 00:11
- アルバムプラグイン
- プラグインオプション
- 58
アルバムプラグインでサブカテゴリー(種類)を設定してアルバムの種類でも検索できるようにしてみます。
アルバムの分類について
アルバムプラグインでは「カテゴリー」と「タグ」でアルバムを分類できます。
ただし、アルバムプラグインのカテゴリーは「階層化」できません。
たとえば「ジャンルA」の「イラスト」と「漫画」、「ジャンルB」の「イラスト」と「漫画」のがある場合のカテゴリー設定は
- ジャンルAのイラスト
- ジャンルAの漫画
- ジャンルBのイラスト
- ジャンルBの漫画
のようになると思います。
「ジャンル」を「カテゴリー」に登録して、「イラスト」か「漫画」かを「タグ」で識別するという方法もあります。
「タグ」は複数登録できるので、アルバムに関係する語句を他にもたくさん指定できます。
たとえば、
カテゴリーは
- 食物
- 動物
- 植物
のように設定し、タグに
- イラスト
- 漫画
- 写真
を登録し、他にも
- にんじん
- ピーマン
- キャベツ
- いぬ
- ねこ
- くま
- バラ
- チューリップ
- ヒマワリ
の中から、アルバムに登録されている画像に関係のある名前を登録していくという方法です。
しかしこれでは、「イラスト」「漫画」「写真」といった「アルバムの種類」と、「にんじん」「いぬ」「バラ」といった「アルバムの登場人物」がごちゃごちゃになってしまうので、「カテゴリー」「タグ」の他に「サブカテゴリー」を設定すると便利かもしれません。
オプションを使ってサブカテゴリー(種類)を設定しよう
アルバムプラグインではオプションを10件まで設定できます。
オプションを使ってサブカテゴリーを設定してみましょう。
管理画面→設定管理→プラグインの設定→アルバムプラグイン→オプションで
- オプション01の名前…「サブカテゴリー(種類)」
- オプション01の種類…「セレクトボックス」
- オプション01の初期値…「イラスト,漫画,写真」(ここではわかりやすく「,」で区切っていますが本来は改行で区切って下さい)
を登録してください。
これで、サブカテゴリーとして「イラスト」「漫画」「写真」を選択することができるようになります。
サブカテゴリー(種類)で検索できるようにしてみよう
サブカテゴリーオプションを設定したら、サブカテゴリーでも検索できるようにしてみましょう。
アルバムプラグインでは、あるカテゴリーを選択するとそのカテゴリーのアルバムを一覧表示したり、あるタグを選択するとそのタグのアルバムを一覧表示することができます。
つまり、カテゴリー、タグで検索ができるのです。
他にも、フリーワード、日付での検索も可能です。
このように、サブカテゴリーでも検索できるようにしてみます。
[freo/libs/freo/plugins/page.album.php]の1638行目に下記のように加筆してアップデートしてください。
if (isset($_GET['sub'])) { $condition .= ' AND option01 = ' . $freo->pdo->quote($_GET['sub']) . ' OR option01 LIKE ' . $freo->pdo->quote($_GET['sub'] . ',%') . ' OR option01 LIKE ' . $freo->pdo->quote('%,' . $_GET['sub']) . ' OR option01 LIKE ' . $freo->pdo->quote('%,' . $_GET['sub'] . ',%'); }
このようにすると、[http://sample.com/index.php/album]のアドレスに「?sub=種類名」を追加すると、その種類のアルバムを検索することができるようになります。
たとえば、
http://sample.com/index.php/album?sub=イラスト でイラストのアルバムを
http://sample.com/index.php/album?sub=漫画 で漫画のアルバムを一覧表示できます。
また、検索条件は複数設定することができます。
たとえば、ジャンル(カテゴリー)が「いぬ」の種類が「イラスト」を検索したい場合は、
http://sample.com/index.php/album?category_id=inu&sub=イラスト
のアドレスを表示すると、いぬのイラストのアルバムが一覧表示されます。
サブカテゴリーでの検索内容を表示できるようにしてみよう
アルバムをカテゴリーで検索した際、
カテゴリー「test」の検索結果は以下のとおりです。
などのように表示されますが、サブカテゴリーで検索したときも、このように表示されるようにしてみます。
- [freo/templates/plugins/album/default.html]の22行目に下記のように加筆してください。
<!--{if $smarty.get.sub}--><p>サブカテゴリー「{$smarty.get.sub}」の検索結果は以下のとおりです。</p><!--{/if}-->
- [freo/templates/plugins/album/default.html]をアップデートしてください。
アルバム登録時にサブカテゴリー(種類)を必須項目にする方法
アルバムを登録する際に、サブカテゴリー(種類)を選択必須項目にしてみます。
- [freo/libs/freo/plugins/page.album.php]の446行目に下記のように加筆してください。
//サブカテゴリー(種類) if ($_POST['plugin_album']['option01'] == '') { $freo->smarty->append('errors', 'サブカテゴリー(種類)が選択されていません。'); }
- [freo/templates/plugins/album/admin_form.html]の138行目~141行目
<!--{if $freo.config.plugin.album.option01_name}--> <dt>{$freo.config.plugin.album.option01_name}</dt> <!--{if $freo.config.plugin.album.option01_type == 'text'}-->
<!--{if $freo.config.plugin.album.option01_name}--> <dt>{$freo.config.plugin.album.option01_name}<abbr class="attention" title="入力必須">*</abbr></dt> <!--{if $freo.config.plugin.album.option01_type == 'text'}-->
- [freo/libs/freo/plugins/page.album.php]と
[freo/templates/plugins/album/admin_form.html]をアップデートしてください。
これでサブカテゴリー(種類)が入力必須になっているはずです。
追記
2016/02/26 アルバムプラグインVER.3_0_0に対応しました。