[pmwiki-devel] markup order for group headers

marc gmane at auxbuss.com
Wed Feb 7 16:34:16 CST 2007


Patrick R. Michaud said...
> On Tue, Feb 06, 2007 at 04:17:56PM -0600, Patrick R. Michaud wrote:
> > On Tue, Feb 06, 2007 at 10:14:50PM -0000, marc wrote:
> > > However, I still have an issue related to this problem, which is that 
> > > skin template markup (via <!--markup:) in PageHeaderFmt is being 
> > > processed after PageText.
> > 
> > Because the PageText has the ability to affect the skin display --
> > even to the point of choosing an entirely different skin(!) --
> > the markup of the PageText has to be processed before the skin
> > components.
> 
> To extend this a bit further...
> 
> > > Is there any way to allow the "natural" order? Currently I'm 
> > > having to 'force' things in skin.php, which is not ideal.
> 
> Why are the markups having to be performed as part of a skin?  
> Are the markups being processed really skin related, or are they
> more related to a particular application?

The markup outputs a dropdown that I've placed at top-right (in the 
header) of all pages that use that skin - I use more than one skin on 
the site - so I think of it as skin-related; but the dropdown's selected 
value affects behaviour (within pagetext), so it's also related to an 
application (in a broad sense).

> In other words, I'm wondering if this approach is somehow 
> trying to use the skin's template as a surrogate for plain old
> initialization.

This is the issue, sure. The markup exists - so I'm using it - and, used 
within pagetext, it happily performs its own initialisation - since it 
persists, the default/selected value in question is stored as a session 
variable, which I'm currently initialising in skin.php, say:

  @session_start();
  if (!isset($_SESSION['usercurrency']))
    $_SESSION['usercurrency']='GBP';

However, note that more than one dropdown could exist, so any 
initialisation needs to know the label/name associated with the unique 
dropdown being initialised. This precludes performing a simple 
initialisation on loading the recipe, say.

So, perhaps after all, initialising the skin-dropdown in skin.php is the 
right thing to do.

-- 
Cheers,
Marc




More information about the pmwiki-devel mailing list