[interchange: 4/4] NAME
Mike Heins
interchange-cvs at icdevgroup.org
Sat Mar 22 14:30:03 UTC 2014
commit 71224d2808601341c3d9c78778eba781ced2b082
Author: Mike Heins <mike at perusion.com>
Date: Sat Mar 22 09:53:25 2014 -0400
NAME
tv -- true temporary, non-session set/value tag
SYNOPSIS
[ts foo]The time is: [time fmt="%H:%M"][/ts]
[tv foo]
(Shows "The time is: 09:10")
[tn bar]The time tag is set as in: [time fmt='%H:%M'][/tn]
[tv bar]
(Shows "The time tag is set as in: [time fmt='%H:%M']")
DESCRIPTION
Interchange uses "[tmp foo][/tmp]" and "[tmpn bar][/tmpn]" to set
temporary scratch values. While this works OK in most cases, these
values have to be managed in the session, and also may overwrite values
which could be counted on by other pages (when set with "[set ...]") or
by manipulating $Scratch.
The above three tags replace this scheme with values that are based in
the $Vend::Interpolate::Tmp space. These values are available in
embedded Perl with $Tmp, so are usable in the same fashion as $Scratch.
But they are truly temporary and will never be saved to a session.
[ts VARNAME]VALUE[/ts]
ITL code in VALUE *is* interoplated prior to setting VARNAME in
$Tmp.
[tn VARNAME]VALUE[/tn]
ITL code in VALUE is *not* interoplated prior to setting VARNAME in
$Tmp.
[tv VARNAME]
Display value of VARNAME.
AUTHOR
Mike Heins, <mike at icdevgroup.org>
BUGS
The usual number.
code/SystemTag/tv.coretag | 88 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 88 insertions(+), 0 deletions(-)
---
diff --git a/code/SystemTag/tv.coretag b/code/SystemTag/tv.coretag
new file mode 100644
index 0000000..ef32b4e
--- /dev/null
+++ b/code/SystemTag/tv.coretag
@@ -0,0 +1,88 @@
+UserTag tv Order name
+UserTag tv Description Return $Tmp value
+UserTag tv Routine <<EOR
+sub {
+ my $key = shift;
+ my $val = $Vend::Interpolate::Tmp->{ $key };
+ return $val;
+}
+EOR
+
+UserTag ts Order name
+UserTag ts hasEndTag
+UserTag ts Interpolate
+UserTag ts Description Set $Tmp value
+UserTag ts Routine <<EOR
+sub {
+ my $key = shift;
+ $Vend::Interpolate::Tmp->{$key} = shift;
+ return '';
+}
+EOR
+
+UserTag tn Order name
+UserTag tn hasEndTag
+UserTag tn Description Set $Tmp value
+UserTag tn Routine <<EOR
+sub {
+ my $key = shift;
+ $Vend::Interpolate::Tmp->{$key} = shift;
+ return '';
+}
+EOR
+
+UserTag tv Documentation <<EOD
+=head1 NAME
+
+tv -- true temporary, non-session set/value tag
+
+=head1 SYNOPSIS
+
+ [ts foo]The time is: [time fmt="%H:%M"][/ts]
+ [tv foo]
+ (Shows "The time is: 09:10")
+
+ [tn bar]The time tag is set as in: [time fmt='%H:%M'][/tn]
+ [tv bar]
+ (Shows "The time tag is set as in: [time fmt='%H:%M']")
+
+=head1 DESCRIPTION
+
+Interchange uses C<[tmp foo][/tmp]> and C<[tmpn bar][/tmpn]> to set
+temporary scratch values. While this works OK in most cases, these
+values have to be managed in the session, and also may overwrite values
+which could be counted on by other pages (when set with C<[set ...]>) or by
+manipulating $Scratch.
+
+The above three tags replace this scheme with values that are based
+in the C<$Vend::Interpolate::Tmp> space. These values are available
+in embedded Perl with C<$Tmp>, so are usable in the same fashion as
+C<$Scratch>. But they are truly temporary and will never be saved to
+a session.
+
+=over 4
+
+=item [ts VARNAME]VALUE[/ts]
+
+ITL code in VALUE I<is> interoplated prior to setting VARNAME in $Tmp.
+
+=item [tn VARNAME]VALUE[/tn]
+
+ITL code in VALUE is I<not> interoplated prior to setting VARNAME in $Tmp.
+
+=item [tv VARNAME]
+
+Display value of VARNAME.
+
+=back
+
+=head1 AUTHOR
+
+Mike Heins, <mike at icdevgroup.org>
+
+=head1 BUGS
+
+The usual number.
+
+=cut
+EOD
More information about the interchange-cvs
mailing list