var — access local (catalog) and global Interchange variables


Attribute Pos. Req. Default Description
name Yes Yes   Name of the Interchange variable to display.
global Yes     Empty value only looks for a catalog variable. Value of 1 looks only for a global variable. Value of 2 looks for the catalog variable with the fallback to global, if local one is not defined.
filter     None. filter to apply.
interpolate     1 interpolate output?
hide     0 Hide the tag return value?


This tag gives access to Interchange global or catalog variables. Direct access to variables (using the __VAR__ syntax) is faster, so you should only use this tag where the direct access is impossible.

Here's the equivalence list:

[var VAR] == __VAR__
[var VAR 1] == @@VAR@@
[var VAR 2] == @_VAR_@


This tag appears to be affected by, or affects, the following:
Pragmas: dynamic_variables


Example: Direct access equivalence example

Note that the following two lines are identical in effect:

[image  src="[var IMAGE_DIR]/items/[cgi item_id]" border=0 extra="id='item_img'"]
[image  src="__IMAGE_DIR__/items/[cgi item_id]" border=0 extra="id='item_img'"]



var is available in Interchange versions:

4.6.0-5.9.0 (git-head)


Interchange 5.9.0:

Source: code/UserTag/var.tag
Lines: 34

# Copyright 2002-2007 Interchange Development Group and others
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.  See the LICENSE file for details.
# $Id: var.tag,v 1.12 2007-03-30 23:40:57 pajamian Exp $

UserTag var Order         name global filter
UserTag var Interpolate   1
UserTag var Version       $Revision: 1.12 $
UserTag var Routine       <<EOR
sub {
my ($key, $global, $filter) = @_;
my $value;
if ($global and $global != 2) {
$value = $Global::Variable->{$key};
elsif ($Vend::Session->{logged_in} and defined $Vend::Cfg->{Member}{$key}) {
$value = $Vend::Cfg->{Member}{$key};
else {
$value = (
  ? Vend::Interpolate::dynamic_var($key)
  : $::Variable->{$key}
$value ||= $Global::Variable->{$key} if $global;
$value = filter_value($filter, $value, $key) if $filter;
return $value;


Interchange Development Group


dynamic_variables(7ic), env(7ic), Variable(7ic), Member(7ic)

DocBook! Interchange!