Well I'm pretty sure there can only be on Shell component for a rendered page, so consider this. Each page object has a Map of page assets (IAsset), and what you want to do have your layout (border component with your Shell) include whatever it wants as well as whatever the calling page/component wants. I'm quite sure you can accomplish this with an ognl expression in your layout component, which would access the assets Map of the calling page. What's more is since you'd define assets in your page specs, you could do this without touching the java code of your pages. Let me know what you come up with as this could probably be useful to others.

chris

#Cyrille37# wrote:
Thanks a lot Chris,

Now how can I add a Page.html specific stylesheet ?

If the border define the use of a stylesheet with the @Shell like :

Border.html:
<html jwcid="@Shell" title="MyApp" stylesheet="asset:GeneralCss">
...

How the Page.html could add a specific stylesheet because it's <head> won't be used, so how to ?

Thanks
cyrille.


Chris Lewis a écrit :
Remember that by default a component's body is the whole template, unless you use the special component it $content$, in which case everything /inside/ the element with this jwcid will be used and all else ignored. So for your border component use valid html instead of the invalid bit you currently have:

Border.html:

<html jwcid="@Shell" title="Scrutalys" disableCaching="true" consoleEnabled="true" debugEnabled="true" browserLogLevel="DEBUG">
<body>
<span jwcid="@RenderBody">
* <!-- Tapestry will render the body of the containing component/page here. -->*
   This is the page content.
</span>
</body>
</html>

Page.html:

<html >
<head>
...
</head>
<body jwcid="$content$">
<span jwcid="@Border">
*    <!--
The result of this will be all of the content within this page, rendered within your Border component.
   Everything outside of this will be ignored.
   -->*
  ...
</span>
</body>
</html>

#Cyrille37# wrote:
Hello

I got a @Border with a @Shell to get all stuff common for all pages. It's working but ... All that <span> around the <body> are not compatible with HTML, so wysiwyg editor are not happy.

Perhaps I've miss some knwoledge ?

The Boder.html :

<html>
...
</head>
<span jwcid="$content$">
<span jwcid="@Shell" title="Scrutalys" disableCaching="true" consoleEnabled="true" debugEnabled="true" browserLogLevel="DEBUG">
<body jwcid="@Body">
...
<span jwcid="@RenderBody">This is the page content.</span>
</body>
</span>
</span>
</html>

A tipycal page.html :

<html >
...
</head>
<body jwcid="$content$">
<span jwcid="@Border">
   ...
</span>
</body>
</html>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to