1

Is there a plugin, technique, or combination of plugins/techniques that will allow me to do the following?


My channels are like this:

Parent: Product

Children: Colour, Size, Style, etc.


A search form with user-selectable fields such as these (or indeed hard-coded navigation menu links) - some of the fields are relationship fields:

Product

Colour

Size

Style

Min Price

Max Price

Stock status


..which would presumably result in a string such as ?size=M&min-price=100&stock-status=Y (or perhaps /medium/100/Y)


And then a results page with logic such as this:

{if

product="product" AND product_colour="colour" AND product_size="size" etc.

}

{/if}


Also, apparently I would need the conditional to parse early, as I'm displaying the resultant data in a grid that depends on a Switch tag to add closing divs to rows.

Would be v grateful for any pointers, however general they may be.

1
  • Exist conditional modules capable to parse early: switchee and ifelse. Look at devot-ee.com.
    – Stéphane
    Mar 1 '14 at 23:46
1

Try the Wires addon. Mark, who created switchee and ifelse, is yet writing the docs and improving the code, but, by my tests, it's stable.

3
  • Thank you - that looks promising, though seems I might have to learn stash and low search at the same time - might take me a while... Mar 3 '14 at 17:38
  • I believe you don't need stash, but just to mix @low answer and mine.
    – Sobral
    Mar 3 '14 at 19:37
  • Thanks Robson - as below, in the end I found Refine did what I wanted off-the-shelf, though Wires certainly looks interesting and I'll keep it in mind for the future. Thanks for your help. Mar 9 '14 at 18:17
1

You're basically just looking for a way to filter down channel entries based on a filled out form. Take a look at either Solspace's Super Search or my own Low Search. Both should be up for the job.

3
  • Thanks - I noticed both of those modules and did wonder if they might be appropriate. Out of interest, would the new built-in Template Routes function address my problem? Mar 3 '14 at 17:40
  • Not really. The Routes look at URI segments. If you submit a form using GET, you won't get those values in the URI, but in the query string instead. So you'd still need a module of some sort to catch the form submit and change it to a segmented URI. That's why you're probably better off using one of the before mentioned search add-ons.
    – Low
    Mar 4 '14 at 7:36
  • After some further hunting I found that the Reefine module does pretty much exactly what I need. Thanks v much for your help, and I'll certainly consider Low Search should I need to do something similar next time (btw thanks for your Yearly Archives module - was perfect for another issue I had.) Mar 9 '14 at 18:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.