検索ブロックで、ページタイプをチェックボックスで絞り込む検索を実装したい

2015年11月4日 at 16:15

5.7.5.2です。
下記記事をそのままコピペして検索ブロックのカスタムテンプレートを作ったところ、5.7でもうまく動作しました。

http://notnil-creative.com/blog/archives/1766

そこで掲題の件です。
以下のように書いてみました。


Loader::model('collection_types');
$pt = CollectionType::getByHandle('company_data');
$pt->render('search');


たぶん、Loader::model('collection_types');が悪いと思うのですが、
Class 'CollectionType' not found
とエラーが出ます。

collection_typesはどのように呼び出せばいいでしょうか。
ちなみに、実装したいデザインは、添付画像のようになります。

タグ:

Re: 検索ブロックで、ページタイプをチェックボックスで絞り込む検索を実装したい

2015年11月4日 at 20:44
取り急ぎ。

5.7.5.2 なので方法変わってます・・・。
えーと、なんだったっけな・・・。

PL+ を購入されてますよね?
そこをご覧になるとヒントが有ります。

ちょっと探す時間がまだないので、ヒントだけ・・・。
すいません。
 

Re: 検索ブロックで、ページタイプをチェックボックスで絞り込む検索を実装したい

2015年11月5日 at 13:34
ありがとうございます。
ちょっと確認してみますね!
 

Re: 検索ブロックで、ページタイプをチェックボックスで絞り込む検索を実装したい

2015年11月6日 at 10:45
リンクのやり方はページ属性を表示する方法なので、ページタイプでは使えないと思います。

ページタイプの一覧を表示する方法としては下記のの20行目~40行目あたりが参考になります。

http://github.com/concrete5/concrete5/blob/develop/web/concrete/blocks/page_list/page_list_form.php#L20

また、ページタイプでの複数検索だとちょっと実装方法が分かりません。

ページタイプと連動したページ属性を作って対応するほうが実装しやすいと思います。
 

Re: 検索ブロックで、ページタイプをチェックボックスで絞り込む検索を実装したい

2015年11月6日 at 17:33
aclissさん、どうもです。
結局PL+のソースみても、これといった解決がすぐ見つかりそうになかったので、
属性で絞る方向にします。
 

Re: 検索ブロックで、ページタイプをチェックボックスで絞り込む検索を実装したい

2015年11月10日 at 11:07
もう、遅いかもですが、

ページタイプの複数検索の方法、こちらにありました。

http://concrete5-japan.org/help/5-7/developer/working-with-pages/searching-and-sorting-with-the-pagelist-object/

pagelistクラスにfilterbyPageTypeHandleメソッドがあるので、引数をarrayで渡してあげれば、
複数検索できるようです

$ipl->filterbyPageTypeHandle()
 

Re: 検索ブロックで、ページタイプをチェックボックスで絞り込む検索を実装したい

2015年11月10日 at 15:53
あ、灯台下暗し・・・。

この filterByXXX() ってのを探してました・・・。
この filterByXXX が結構使えます。
 

Re: 検索ブロックで、ページタイプをチェックボックスで絞り込む検索を実装したい

2015年11月8日 at 9:52
concrete/blocks/page_list/page_list_form.php が参考になると思います