Forum OpenACS Q&A: Response to New OpenACS website - Please test!

Collapse
Posted by Ola Hansson on
Tom,

Here is how we do it, and I know you know it can be done this way. But it might be news to someone else:

We have implemented the different boxes as <include> "widgets", which is made up of tcl/adp pairs that perform specific tasks like showing a search form or a "recent postings" listing.

They are called from a central adp template or the default master, for instance...
The widgets that are supposed to have a pretty box surrounding them in turn call in a "box-master template" by including a <master src="box-master"> at the top of the adp page.

It's very easy to make a few different box templates and pass various parameters to them to control the title, color, etc.

For example:
<include src="/widgets/postings" title="Recent Postings" bordercolor="#cccccc">
The widget's adp page passes the parameters "title" and "bordercolor" along to the "widget template" (box-master.adp in this case).

At the top of box-master.adp:

<master src="box-master">

<property name=title>@title@</property>

<property name=bordercolor>@bordercolor@</property>

<multiple name=recent-postings>

  <li>@posting_title@</li>

</multiple>

I am curios to hear if there are benefits of creating custom templating tags compared to this method