Ticket #113 (reopened defect)
Change frame of page?
| Reported by: | bjoernkraus@… | Owned by: | schst@… |
|---|---|---|---|
| Priority: | highest | Milestone: | v0.5.0 |
| Component: | Framework | Version: | devel |
| Severity: | normal | Keywords: | |
| Cc: |
Description (last modified by schst) (diff)
When you create a new page in the sitemap, you've to define a frame for it. How can you change this frame e. g. to do are printer output? One solution would be to add a param like "frame=print" to the URL.
Change History
comment:2 Changed 8 years ago by schst@…
- Status changed from assigned to closed
- Resolution set to fixed
This has been added to the current CVS version. You may now use frame=AnyFrame? to override the default frame specified by the page defintion.
This has not been tested, so if you experience any problems, just reopen the bug. If it works, it would be nice if you close this bug.
comment:3 Changed 8 years ago by bjoernkraus@…
- Status changed from closed to reopened
- Resolution fixed deleted
Thanx Stephan for this enhancement, works perfect!
I wonder how I can "propagate" the 'frame' parameter to be attached to the URLs by default. We could simply add
$this->request->propagateProperty('frame', $this->request->getFrame());
to patPortal.php at line 301 (render() method), but if we want to change it in a static template we'll get something like "index.php?frame=html&path=home&frame=print" what is really an ugly thing.
The intension why I want to propagate the frame param is that I've a site which has an html and a flash navigation, both with own frames. If I could "store" the frame param using request::propagateProperty I don't have to take care of the param after the user has choosen his favored flavour. But if we implement the upper solution we can't use "[URL::home]&frame=print" without having the frame param in the url. OK, I think it's a vicious circle and I have to decide what I want to have, but perhaps you can help me to get things clear... and of course add a param to the site configuration which allows you to propagate the frame param or not.
Thx in advance Björn
comment:4 Changed 8 years ago by schst@…
I guess I'll have to implement a new way to keep this persistent using a session. I'll think about a possible solution.
Stephan
comment:5 Changed 8 years ago by bjoernkraus@…
The problem with a session will be that if you call a frame only once (like a print frame) the frame property will be stored for the next site call (which is mostly NOT a print frame).
A possible solution would be to use "[PORTAL_BASE_URI]" in the templates which doesn't have porperties like frame and path. Therefore we mustn't add properties to the dispachter string (see propagateProperty method) by default but push them into an array. We could use "[PORTAL_BASE_URI]" to get the dispatcher only with the session (which is definitly a property we allways need) and "[URL::home]" to get the dispatcher + session + frame + path. Thoughts?

That's how it's meant to be (at some time, when I've finished it).