0

As in there are 4 default entries - call them 1, 2, 3 & 4 they are in fact defined by custom fields - and people can post in one of them making it ‘active’ with some predefined info (via Channel Form).

If this info is not there they see the default entry 1. If Mr Jones posts something to channel field 1 then it shows in the results (1A if you will) and 1 is either closed, filtered or otherwise hidden.

Can’t be done by conditionals (afaik and have tested) and set up precludes actually editing 1. It must continue to exist and reappear if 1A gets deleted by the author.

Any suggestions? Am I missing something obvious?

1
  • @nonprofit_tech thanks. Actually they are separate entries, I did not explain it well. I start with this - channel containing items as a 'base' (CF = Custom Field) : CF 9am What's Your Name? (Entry 1) CF 10am What's Your Name? (Entry 2) CF 11am What's Your Name? (Entry 3) Then when someone submits a new entry to the channel, 10 am field, it might change to this: CF 9am What's Your Name? (Entry 1) CF 10am MY NAME IS HARRY (ENTRY 5) CF 11am What's Your Name? (Entry 3) If author deletes entry 5 it reverts back to original base format. Make sense? – segovius Feb 18 '14 at 17:29
1

If I'm understanding what you are saying, and I'm not certain I am, I don't believe it can be done the way you are setting it up.

My understanding is that you have four pieces of text, that you wish to switch between based on various conditions. My understanding of the conditions are that: (1) if content exists in a field, and (2) if content has changed / been updated in a field, and (3) all content exists within a single record.

The issue is that these aren't individual entries. Adding dates and timestamps for comparison ONLY really work on individual entries. You have one entry in which you are trying to compare with itself.

You might be able to do this within a Matrix Field or another field type, but otherwise, I'd state, you need multiple entries.

Within a single entry, you can do basic logic tests: is there content in field_a; does field_b contain; etc. But with multiple records / entries you can (with some fiddling) compare dates and add other complexities.

Now, if you will ONLY ever be displaying either / or entry_1 versus one of entries 2 through 4, and you have a trigger for active, then you'd should ONLY need to check a field for if it contains content and if its marked active. That's doable. Assuming only one of the fields can be active at a time.

For example, if I have fields:

field_one : Good Morning Sir
field_two : You'll fine today's weather horrid
field_three: The sky is a brilliant blue sir, the day awaits you…
field_four: Stay home, Go back to bed. Hide I say, HIDE!!
field_active: one, two, three, four

Then you could basically set-up:

<h2>{field_one}</h2>
{if field_two !=""}<p>{field_two}</p>{/if}
{if field_four !=""}<p>{field_four}</p>{/if}

That's a simple comparison, which would add text to an always default message {field_one} But if you have some sort of activation key for one field over an other, then you'd need to also check for the activation field and the content.

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.