[Radiant] if_content with inherit

Adam van den Hoven adam.vandenhoven at gmail.com
Tue Jul 8 10:16:40 CDT 2008


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



More information about the Radiant mailing list