Error: I'm afraid this is the first I've heard of a "trackback" flavoured Blosxom. Try dropping the "/+trackback" bit from the end of the URL.
When writing Seamstress pages, componentize your tree transforms
Working with our Mason codebase today showed me something that would have been a lot harder in Seamstress. Basically, I was told to add a vonage advertisement in another table cell everywhere that we displayed a vbase_banner.
Up to this point, all pages using the vbase_banner looked something like this:
<& 'comp/related_topics_lander_2', aconf => $aconf, query => $query &>
<& 'comp/vbase_banner', aconf => $aconf, query => $query, align => 'left' &>
% if ($query->{'brand'} eq 'tbar') {
<& 'comp/tbar_foot', aconf => $aconf, query => $query &>
% } else {
<& 'comp/quickfoot', aconf => $aconf, query => $query, align => 'center' &>
% }
<& 'comp/footer', aconf => $aconf, query => $query &>
|
So all I had to do was toss a bit of logic in vbase_banner for the vonage_ad and I was done:
|
|
% if ($query->{pagetype} ne ‘KEY’) {
<& vonage_ad &>
% } |
|
With Seamstress, one could componentize a page by creating subroutines for processing each part, but one does not have to. This is a downfall in Seamstress in a sense. But nevertheless, with Params::Validate and HTML::Tree, one can still do the trick, but one must be disciplined about placing each tree transformation into a separate subroutine instead of having a subroutine with a series of
The end result of disciplined Seamstress usage is that you can refine subroutines and make wholesale changes across several webpages if they all point to the same place
#