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

Reply via email to