Cannot Pass Blocks to Layout Components
---------------------------------------
Key: TAPESTRY-1583
URL: https://issues.apache.org/jira/browse/TAPESTRY-1583
Project: Tapestry
Issue Type: Bug
Affects Versions: 5.0.4
Reporter: Jeremy F. Kassis
As per http://tapestry.apache.org/tapestry5/tapestry-core/guide/templates.html,
the template of a page that calls a layout component must look like this:
<t:layout xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
My Page Specific Content
</t:layout>
The layout component looks like this:
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
<head>
<title>My Tapestry Application</title>
</head>
<body>
<t:body/>
</body>
</html>
If I want a more sophisticated layout that renders blocks passed as parameters
instead of just a body, i'd be tempted to try this:
<t:layout xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd"
block1="block:block1" block2="block:block2">
<t:block id="block1">My Page Specific Content for Block 1</t:block>
<t:block id="block2">My Page Specific Content for Block 2</t:block>
</t:layout>
But tapestry can't bind block1 and block2, because they appear in the template
after the binding point.
This solution works, but produces an extra <html> tag in the output document:
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
<t:block id="block1">My Page Specific Content for Block 1</t:block>
<t:block id="block2">My Page Specific Content for Block 2</t:block>
<t:layout block1="block:block1" block2="block:block2"></t:layout>
</html>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]