Index: openacs-4/packages/acs-templating/tcl/tag-init.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/tag-init.tcl,v diff -u -r1.15 -r1.16 --- openacs-4/packages/acs-templating/tcl/tag-init.tcl 29 Jan 2004 14:41:07 -0000 1.15 +++ openacs-4/packages/acs-templating/tcl/tag-init.tcl 14 Feb 2004 16:32:42 -0000 1.16 @@ -101,6 +101,7 @@ set name [template::get_attribute multiple $params name ] set startrow [template::get_attribute multiple $params startrow 0] set maxrows [template::get_attribute multiple $params maxrows -1]; #unlimit + set delimiter [template::get_attribute multiple $params delimiter ""] set tag_id [template::current_tag] @@ -124,6 +125,19 @@ " -nobreak template::adp_compile_chunk $chunk + if { ![empty_string_p $delimiter] } { + template::adp_append_code " if { \$$i < \${$name:rowcount}" + + if {$maxrows >= 0} { + template::adp_append_code " && \$$i < [expr $maxrows + $startrow]" \ + -nobreak + } + + template::adp_append_code " } {\n" + template::adp_append_string $delimiter + template::adp_append_code "\n}\n" + } + template::adp_append_code "} if {\[info exists __${tag_id}_swap\]} { @@ -176,6 +190,7 @@ template_tag group { chunk params } { set column [template::get_attribute group $params column] + set delimiter [template::get_attribute group $params delimiter ""] # Scan the parameter stack backward, looking for the tag name @@ -234,6 +249,13 @@ if { !\[string equal \[set \"${name}:next(${column})\"\] \$${name}(${column})\] } { break } + " + + if { ![empty_string_p $delimiter] } { + template::adp_append_string $delimiter + } + + template::adp_append_code " incr $i upvar 0 $name:\$$i $name incr __${tag_id}_group_rowcount Index: openacs-4/packages/acs-templating/www/doc/tagref/group.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/group.html,v diff -u -r1.2 -r1.3 --- openacs-4/packages/acs-templating/www/doc/tagref/group.html 28 Feb 2003 13:27:06 -0000 1.2 +++ openacs-4/packages/acs-templating/www/doc/tagref/group.html 14 Feb 2004 16:32:42 -0000 1.3 @@ -19,7 +19,7 @@ It repeats a template section as long as the value of the column does not change from row to row.
-The group tag alsos sets two additional values in your +
The group tag also sets two additional values in your multirow:
[Note: Carsten added this feature during the Berlin Hackaton 2004-02-14] +
The delimiter attribute will add a string after each row except +the last row in the group: +
+ ++ <group delimiter=" | "> + ... ++ +
This attribute will cause the rows within the group to appear to be sepparated by +vertical bars. + +This is much more convenient than using the <groupnum_last_p> +tags to check whether we are on the last row. + +
+This attribute will cause processing of the data source to begin at row n + 1.
+[Note: Carsten added this feature during the Berlin Hackaton 2004-02-14] +
The delimiter attribute will add a string after each row except +the last row: +
+ ++ <multiple delimiter=" | "> + ... ++ +
This attribute will cause the rows to appear to be sepparated by +vertical bars. This is much more convenient than using the <if> +tags to check whether we are on the last row.
+The startrow and maxrows attributes may be used together to output any range from the data source.