Hi list,
could someone please tell me if there is any way to check in a screen
condition if a decorator section is empty?

I would like to do something similar to this:

<container style="contentarea">
<decorator-section-include name="pre-body"/>
<container id="column-container">
    <section>
        <condition>
            <if-decorator-section-empty decorator-section="left-bar"/>
        </condition>
        <widgets>
            <container id="content-main-section">
                <decorator-section-include name="body"/>
            </container>
        </widgets>
        <fail-widgets>
            <container style="left">
                <decorator-section-include name="left-bar"/>
            </container>
            <container id="content-main-section" style="leftonly">
                <decorator-section-include name="body"/>
            </container>
        </fail-widgets>
    </section>
</container>

Basically this is used to have the leftbar filled using a new
decorator-section defined in the GlobalDecorator and not using any
more the leftbarScreenName and leftbarScreenLocation so that for
instance the CommonCatalogDecorator would change from

    <screen name="CommonCatalogDecorator">
        <section>
            <actions>
                <set field="leftbarScreenName" value="leftbar"/>
                <set field="leftbarScreenLocation"
value="component://product/widget/catalog/CommonScreens.xml"/>
                <set field="MainColumnStyle" value="leftonly"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator"
location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="pre-body">
                        <section>
                            <!-- do check for CATALOG, _VIEW permission -->
                            <condition>
                                <and>
..................
to

    <screen name="CommonCatalogDecorator">
        <section>
            <widgets>
                <decorator-screen name="main-decorator"
location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="left-bar">
                        <include-screen name="leftbar"/>
                    </decorator-section>
                    <decorator-section name="pre-body">
                        <section>
                            <!-- do check for CATALOG, _VIEW permission -->
                            <condition>
                                <and>

The problem I have found is that the GlobalDecorator needs to apply
the "leftonly" style to the <container id="content-main-section"> only
if the leftbar does include content.

Any thought about this?

Thank you so much,
Bruno

Reply via email to