Let's assume that I want to display all of my pages in what I think many
would refer to as a 'portal' format, where a series of navigation and
control elements surround a central content pane. I'm particularly
concerned that the surrounding elements remain in a fixed location while the
content auto scrolls, more or less like this (menu at top, content center,
various controls all around).
_____________________________________________________
| lt | menu | rt |
|__________|_______________________________|__________|
| lc | content (autoscrolls) | rc |
|__________|_______________________________|__________|
| lb | base | rb |
|__________|_______________________________|__________|
Questions:
1. Given that I want the central content to autoscroll, is it not true that
I need to use frames to achieve the result I want? I realize I can use an
IFrame though have been hesitant to do so since support for IFrames seems
spotty at best, especially with older browsers. I also have a working
prototype that uses Frames to good effect and does so successfully in a
number of different browsers. Note that I'm assuming that there isn't a way
to get an auto-scrolled center pane using only Tapestry pages and
components. If my assumption is incorrect I'd appreciate it if someone
would clue me in.
2. I have recoded my example to use framesets and Tapestry Frame components,
but now I'm stuck on something that should be, I think, simple. How can I
target menu clicks in my 'menu' (a Tapestry Frame whose page contains menu
items) so that content is displayed in the 'content' frame? I suppose I
could recode this so that the Menu frame is a Tapestry component included in
the content page, but I wonder if there is really a good reason for doing
so. It seems that, if Tapestry frames are able to specify a frame target
(something that is easy to do in a framed html page) I would achieve exactly
the result I want.
Here's what I have right now. It all works with the exception of the fact
that menu clicks display content in the 'menu' frame and not the 'content'
frame. Under other circumstances I would just add a 'target' value to the
page and everyone would be happy, but in this case Tapestry is in control of
the target base href. I guess I could avoid using a tapestry shell
component and specify by own base href, but that seems like a hack. I'm
also sure there must be some way to override code to make the right thing
happen, but expect it ought to be easier than that.
================== Home.html:
<snip>
<frameset rows="45,*" frameborder="no" border="0" cols="*">
<frame jwcid="insertMenu" name="menu" scrolling="no" target="main"
marginwidth="0" marginheight="0"/>
<frame jwcid="insertSelectedPage" name="main" scrolling="auto"
marginwidth="0" marginheight="0"/>
</frameset>
</snip>
================== Menu.html:
<snip>
<table class="menuitems" width="100%" cellpadding="0" cellspacing="0"
border="0">
<tbody>
<tr>
<!-- How do we target these to the content frame? -->
<td><a jwcid="linkHome"><img jwcid="menuHome"
src="images/menu_home.gif"
height="23" alt="[Home]"/></a></td>
<td><a jwcid="linkLearn"><img jwcid="menuLearn"
src="images/menu_learn.gif" height="23" alt="[Learn]"/></a></td>
<td><a jwcid="linkNews"><img jwcid="menuNews"
src="images/menu_news.gif"
height="23" alt="[News]"/></a></td>
<td><a jwcid="linkSubscribe"><img jwcid="menuSubscribe"
src="images/menu_subscribe.gif" height="23" alt="[Subscribe]"/></a></td>
<td><a jwcid="linkHelp"><img jwcid="menuHelp"
src="images/menu_help.gif"
height="23" alt="[Help]"/></a></td>
<td width="100%"><img jwcid="menuFiller" src="images/menu_filler.gif"
width="100%" height="23"/></td>
</tr>
</tbody>
</table>
</snip>
I'm still quite new to Tapestry and might be caught in an unproductive way
of thinking. I'm also likely to have missed some Tapestry capability: the
obvious would be some way to target actions in a framed Page to another
Frame. If so, I'll gladly be enlightened.
Thanks,
Craig
-------------------------------------------------------
This sf.net email is sponsored by: OSDN - Tired of that same old
cell phone? Get a new here for FREE!
https://www.inphonic.com/r.asp?r=sourceforge1&refcode1=vs3390
_______________________________________________
Tapestry-developer mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/tapestry-developer