You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ofbiz.apache.org by Deepika1 S <de...@tcs.com> on 2012/04/18 13:41:02 UTC
Change decorator-screen name in runtime
Hi All,
I have the following code in CommonScreens.xml, I have set a session
attribute in the runtime , suppose " setType" ,it's value being Blue.
Now what i want is , depending on the value of setType , i want to change
my decorator screen,
If setType="Blue" then, decorator-screen name is main-decorator, else if
setType="Green", i want the decorator-screen name to be main-decorator1
Is it possible ? please let me know.
Can we have an if condition in the code?
<screen name="findAmount">
<section>
<actions>
<set field="MainColumnStyle" value=
"center" />
<script
location=
"component://ecommerce/webapp/ecommerce/WEB-INF/actions/splash/findAmount.groovy"
/>
<set field="isCatalogLandingPage" value=
"Y" />
</actions>
<widgets>
<decorator-screen name="main-decorator"
location=
"${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<platform-specific>
<html>
<
html-template
location=
"component://ecommerce/webapp/ecommerce/ftl/catalog/findAmount.ftl" />
</html>
</platform-specific>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
Regards,
Deepika Sahu
=====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain
confidential or privileged information. If you are
not the intended recipient, any dissemination, use,
review, distribution, printing or copying of the
information contained in this e-mail message
and/or attachments to it are strictly prohibited. If
you have received this communication in error,
please notify us by reply e-mail or telephone and
immediately and permanently delete the message
and any attachments. Thank you
Re: Change decorator-screen name in runtime
Posted by Adrian Crum <ad...@sandglass-software.com>.
That is a bad design pattern. Decorators are meant to contain screen
elements that are constant across screens. I recommend using the Content
component for what you describe.
-Adrian
On 4/18/2012 12:41 PM, Deepika1 S wrote:
> Hi All,
>
>
> I have the following code in CommonScreens.xml, I have set a session
> attribute in the runtime , suppose " setType" ,it's value being Blue.
>
> Now what i want is , depending on the value of setType , i want to change
> my decorator screen,
>
> If setType="Blue" then, decorator-screen name is main-decorator, else if
> setType="Green", i want the decorator-screen name to be main-decorator1
>
> Is it possible ? please let me know.
>
> Can we have an if condition in the code?
>
> <screen name="findAmount">
> <section>
> <actions>
> <set field="MainColumnStyle" value=
> "center" />
> <script
> location=
> "component://ecommerce/webapp/ecommerce/WEB-INF/actions/splash/findAmount.groovy"
> />
> <set field="isCatalogLandingPage" value=
> "Y" />
> </actions>
> <widgets>
> <decorator-screen name="main-decorator"
> location=
> "${parameters.mainDecoratorLocation}">
> <decorator-section name="body">
> <platform-specific>
> <html>
> <
> html-template
>
> location=
> "component://ecommerce/webapp/ecommerce/ftl/catalog/findAmount.ftl" />
> </html>
>
> </platform-specific>
> </decorator-section>
> </decorator-screen>
>
> </widgets>
> </section>
> </screen>
>
>
>
> Regards,
> Deepika Sahu
> =====-----=====-----=====
> Notice: The information contained in this e-mail
> message and/or attachments to it may contain
> confidential or privileged information. If you are
> not the intended recipient, any dissemination, use,
> review, distribution, printing or copying of the
> information contained in this e-mail message
> and/or attachments to it are strictly prohibited. If
> you have received this communication in error,
> please notify us by reply e-mail or telephone and
> immediately and permanently delete the message
> and any attachments. Thank you
>
>
>
Re: Change decorator-screen name in runtime
Posted by Prasanth R <pr...@gmail.com>.
hi Deepika,
You can do this.
In decorator declaration,
according to your condition you can turn decorator-name.
<decorator-screen name="${decorator-name}" location="">
location empty,if its in the same file.
Thanks
On Wed, Apr 18, 2012 at 5:11 PM, Deepika1 S <de...@tcs.com> wrote:
> Hi All,
>
>
> I have the following code in CommonScreens.xml, I have set a session
> attribute in the runtime , suppose " setType" ,it's value being Blue.
>
> Now what i want is , depending on the value of setType , i want to change
> my decorator screen,
>
> If setType="Blue" then, decorator-screen name is main-decorator, else if
> setType="Green", i want the decorator-screen name to be main-decorator1
>
> Is it possible ? please let me know.
>
> Can we have an if condition in the code?
>
> <screen name="findAmount">
> <section>
> <actions>
> <set field="MainColumnStyle" value=
> "center" />
> <script
> location=
>
> "component://ecommerce/webapp/ecommerce/WEB-INF/actions/splash/findAmount.groovy"
> />
> <set field="isCatalogLandingPage" value=
> "Y" />
> </actions>
> <widgets>
> <decorator-screen name="main-decorator"
> location=
> "${parameters.mainDecoratorLocation}">
> <decorator-section name="body">
> <platform-specific>
> <html>
> <
> html-template
>
> location=
> "component://ecommerce/webapp/ecommerce/ftl/catalog/findAmount.ftl" />
> </html>
>
> </platform-specific>
> </decorator-section>
> </decorator-screen>
>
> </widgets>
> </section>
> </screen>
>
>
>
> Regards,
> Deepika Sahu
> =====-----=====-----=====
> Notice: The information contained in this e-mail
> message and/or attachments to it may contain
> confidential or privileged information. If you are
> not the intended recipient, any dissemination, use,
> review, distribution, printing or copying of the
> information contained in this e-mail message
> and/or attachments to it are strictly prohibited. If
> you have received this communication in error,
> please notify us by reply e-mail or telephone and
> immediately and permanently delete the message
> and any attachments. Thank you
>
>
>
Re: Change decorator-screen name in runtime
Posted by Ankit Jain <an...@gmail.com>.
You can handle this with condition / widget / fail-widget tags and
also make two different screens for different decorators and in the
condition section check if it is blue then it will go to included
screen in widget section otherwise if it is green then it will go to
fail-widgets screen.
Regards,
Ankit Jain
On Wed, Apr 18, 2012 at 5:11 PM, Deepika1 S <de...@tcs.com> wrote:
> Hi All,
>
>
> I have the following code in CommonScreens.xml, I have set a session
> attribute in the runtime , suppose " setType" ,it's value being Blue.
>
> Now what i want is , depending on the value of setType , i want to change
> my decorator screen,
>
> If setType="Blue" then, decorator-screen name is main-decorator, else if
> setType="Green", i want the decorator-screen name to be main-decorator1
>
> Is it possible ? please let me know.
>
> Can we have an if condition in the code?
>
> <screen name="findAmount">
> <section>
> <actions>
> <set field="MainColumnStyle" value=
> "center" />
> <script
> location=
> "component://ecommerce/webapp/ecommerce/WEB-INF/actions/splash/findAmount.groovy"
> />
> <set field="isCatalogLandingPage" value=
> "Y" />
> </actions>
> <widgets>
> <decorator-screen name="main-decorator"
> location=
> "${parameters.mainDecoratorLocation}">
> <decorator-section name="body">
> <platform-specific>
> <html>
> <
> html-template
>
> location=
> "component://ecommerce/webapp/ecommerce/ftl/catalog/findAmount.ftl" />
> </html>
>
> </platform-specific>
> </decorator-section>
> </decorator-screen>
>
> </widgets>
> </section>
> </screen>
>
>
>
> Regards,
> Deepika Sahu
> =====-----=====-----=====
> Notice: The information contained in this e-mail
> message and/or attachments to it may contain
> confidential or privileged information. If you are
> not the intended recipient, any dissemination, use,
> review, distribution, printing or copying of the
> information contained in this e-mail message
> and/or attachments to it are strictly prohibited. If
> you have received this communication in error,
> please notify us by reply e-mail or telephone and
> immediately and permanently delete the message
> and any attachments. Thank you
>
>