4

I have two channels. One channel has a relationship field and is used to store a list of people giving me their name and a description of who they are and a couple other details. The other channel is a vehicle for listing quotes made by the people in the other channel. I use the name of a person (with the relationship field) to be displayed in the other channel when I call up a quote by that person. (I hope you can get a picture in your mind of what I've just said).

My problem is that I'm using EE search:simple_form to search out words in the quotes and display the results. But I also want my users to search out and display a specific person and ALL the quotes that I've attributed to that person.

I tried using a pipe to separate the two channels in the "Channel=" spot, but that didn't work. I could get results from the main quote channel but not the author channel. I've search this Answers forum but most results point to third party products and it's just not worth spending more than $10 to get a third party product to do this. It's something I would really love to be able to do, but there's no return to justify my spending more money on this.

I've also looked into building a Google custom search, but it seems they want money for that and the site that lets me try the search wasn't too impressive on my site either.

So, any help or ideas would be appreciated.

0

1 Answer 1

3

My reccomendation here is to create a dedicated relationship channel. It's a bit complex at first, but I promise a simple concept.

That channel looks like: Relationship Channel Fields
We use this structure, but with all these extra fields for extendability. The kind of logic flow is using this channel to link two or more entries.

So it looks like you have people and vehicle listings. Lets say Bob comments on Mustang: "Bet she's fast!".

So the relationship entry looks like:

rel_id_a : bob_user_id
rel_id_b : mustang_entry_id
meta_a : "Bet she's fast!"

So now, finding all comments for a particular listing works like:

{exp:channel:entries channel="relationship" search:rel_id_b="={mustang_entry_id}" dynamic="no"}
    <p>{rel_id_a} said: {meta_a}</p>
{/exp:channel:entries}

Finding all comments for a user:

{exp:channel:entries channel="relationship" search:rel_id_a="={user_id}" dynamic="no"}
    <p>{rel_id_a} said: {meta_a} on listing: {rel_id_b}</p>
{/exp:channel:entries}

This method is fast and Easy to implement. It provides a generic recycle-able channel. You can use this same channel to also hold relationships of many types.

Best of all, its free and core to EE functionality, and I hope it helps you.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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