Well, this thread is getting plenty of responses, all from me....
I’ve learned that the version of newslisting that includes a couple of my ideas implements one of them differently. The idea is question is the idea of being able to differentiate first, last and alternate rows in a newslisting. My original implementation had done this using CSS and multiple selectors. You had the option to add selectors to whatever element, based on whether or not that element was the first, the last or an alternating row.
In the implementation that is provided in 6.4.2, the approach is to allow the user to use different templates for the entire listinge element. I didn’t understand this, though I do remember that there were discussions between others of the use of multiple templates in newslistings. In my original implementation, the value of &firstRow, &lastRow and &alternateRows was a literal string that was the substitution text into the standard template. In the version currently available, these three items are references to chunks that are used as templates.
I’ll sort this out for myself, but I want to point out that the there are strengths and weaknesses to the approach taken in 6.4.2, as there are in my approach. The real weakness in 6.4.2 is that a given listing element can only be one thing: either first, OR last, OR alternate OR the usual template. In reality, it may be several things: in a listing with only one result (article), that listing would be both first and last: not possible in 6.4.2. Similarly, the last listing could be both last and alternate: can’t be with the fixed templates approach.
In my original version, the use of multiple selectors allowed any combination of these possibilities, so if the last item needed only to have a 1px solid blue line under it, then the selector could look like
.last {border:1px solid blue;}
and an alternate row might only have a different background
.alternate {background: #ccc};
This doesn’t limit a div from being
<div class="newsItem first last">...
or
<div class="newsItem alternate last">...
or even
<div class="newsItem first last" id="newsitemlast">...
for full-on DOM magick.
All the other definitions would come from the normal template, which would allow you to change one element to globally affect the entire newslisting.
My solution probably has cases where the limits of CSS would limit its flexibility, but I think that they would be marginal, given the use of contextual display: none|block|inline abilities in CSS, and as alluded to, the use of ids and DOM/JS.
I guess my observation is that what we have is fine, but its a programmer’s rather than a designer’s solution, especially since it involves change of presentation being implemented not through the stylesheet(s) but within the CMS programming.
Just my 2 cents.