[Radiant] if_content with inherit

Sean Cribbs seancribbs at gmail.com
Tue Jul 8 10:26:54 CDT 2008


We should definitely strive for clarity above all.  The behavior should 
be explicit or readily apparent in the written tag and the ambiguity of 
OR vs. AND in this case worries me.  Is there perhaps a more elegant but 
less general solution?

Sean

Adam van den Hoven wrote:
> Actually I think you need to rethink things a bit. Specifically, I 
> think that specifying multiple parts should be handled in an OR 
> fashion. The reason is that there would  be no way to create a 
> div.sidebar if either a marketing or callout part exist and then put 
> one or both of those part into the div. This is a completely 
> reasonable use case (IMHO). At the same time, you can preserve the AND 
> behaviour by nesting <r:if_content> tags.
>
> As you've proposed, I can see no difference between:
>
> <r:if_content part="this, that">Stuff</r:if_content>
>
> and
>
> <r:if_content part="this"><r:if_content 
> part="that">Stuff</r:if_content></r:if_content>
>
> And that suggests to me that applying an OR to the first case is a 
> useful idea.
>
> As to how inherit should work, I think you're on the right track; look 
> for each part independently. Otherwise the following would not behave 
> as you'd expect:
>
> <r:if_content part="this, that" inherit="true"> <r:content part="this" 
> inherit="true" /><r:content part="that" inherit="true" /></r:if_content>
>
> Adam
>
> On 7-Jul-08, at 5:29 PM, Jim Gay wrote:
>
>> I'm working on this feature, but one of the main reasons I put this 
>> out to the list for feedback is that it can become confusing, so I 
>> wanted to see if anyone else had thought about this.
>>
>> The next version of Radiant (0.6.8) will accept a list of parts in 
>> if_content
>> <r:if_content part="this, that">
>> It will display the contents only if all of those parts exist.
>> This is useful for outputting information from customers (for 
>> example) where you want to display the customer description part only 
>> if it also has a testimonial part.
>> If only some but not all of the listed parts are found, it will 
>> display nothing.
>>
>> In light of that, how would you expect inherit="true" to work?
>>
>> Would you expect that it looks up the tree for the existence of each 
>> part no matter where in the tree that part is found?
>> Or would you expect it to look up the tree to find any page that has 
>> all of the listed parts?
>>
>> My inclination is to make it look up the tree for each listed part 
>> regardless of the location of other parts, and as long as it finds 
>> all of them, it will output the contents of the if_content tag.
>>
>> I personally have had the need for
>> <r:if_content part="this, that">
>> <r:if_content part="this" inherit="true">
>>
>> But I have not had the real-world need for
>> <r:if_content part="this, that" inherit="true">
>>
>> I'm working on it slowly to allow myself time to consider the pros 
>> and cons and to allow anyone to jump in with ideas before I get too 
>> far. I'd appreciate more feedback.
>> On Jul 7, 2008, at 7:04 PM, Adam van den Hoven wrote:
>>
>>> There are few things that make me more grumpy that empty elements 
>>> that server no useful purpose.  I'd love it.
>>> On 7-Jul-08, at 12:56 PM, Jim Gay wrote:
>>>
>>>> Is there any interest in adding the inherit attribute to the 
>>>> if_content tag?
>>>>
>>>> In some instances I'll find the need to output something like
>>>>
>>>> <div id="extras">
>>>> <r:content part="extras" inherit="true" />
>>>> </div>
>>>>
>>>> But I don't have a way to conditionally render the <div 
>>>> id="extras"> bit.
>>>> If the parent or current page has an "extras" part, then it will 
>>>> appear, but if it doesn't I'll have an empty div element.
>>>>
>>>> Is there a simple way to handle this or would <r:if_content 
>>>> inherit="true"> be a clear and welcomed addition?
>>>>
>>>> -Jim
>> _______________________________________________
>> Radiant mailing list
>> Post:   Radiant at radiantcms.org
>> Search: http://radiantcms.org/mailing-list/search/
>> Site:   http://lists.radiantcms.org/mailman/listinfo/radiant
>
> _______________________________________________
> Radiant mailing list
> Post:   Radiant at radiantcms.org
> Search: http://radiantcms.org/mailing-list/search/
> Site:   http://lists.radiantcms.org/mailman/listinfo/radiant
>



More information about the Radiant mailing list