var: Inserts a variable The 'var' tags allows you insert variables into DTML output. Syntax 'var' tag syntax:: The 'var' tag is a singleton tag. The 'var' tag finds a variable by searching the DTML namespace which usually consists of current object, the current object's containers, and finally the web request. If the variable is found, it is inserted into the DTML output. If not found, Zope raises an error. 'var' tag entity syntax:: &dtml-variableName; Entity syntax is a short cut which inserts and HTML quotes the variable. It is useful when inserting variables into HTML tags. 'var' tag entity syntax with attributes:: &dtml.attribute1[.attribute2]...-variableName; To a limited degree you may specify attributes with the entity syntax. You may include zero or more attributes delimited by periods. You cannot provide arguments for attributes using the entity syntax. If you provide zero or more attributes, then the variable is not automatically HTML quoted. Thus you can avoid HTML quoting with this syntax, '&dtml.-variableName;'. Attributes html_quote -- Convert characters that have special meaning in HTML to HTML character entities. missing=string -- Specify a default value in case Zope cannot find the variable. fmt=string -- Format a variable. Zope provides a few built-in formats including C-style format strings. For more information on C-style format strings see the "Python Library Reference":http://www.python.org/doc/current/lib/typesseq-strings.html If the format string is not a built-in format, then it is assumed to be a method of the object, and it called. whole-dollars -- Formats the variable as dollars. dollars-and-cents -- Formats the variable as dollars and cents. collection-length -- The length of the variable, assuming it is a sequence. structured-text -- Formats the variable as Structured Text. For more information on Structured Text see "Structured Text How-To":http://www.zope.org/Members/millejoh/structuredText on the Zope.org web site. null=string -- A default value to use if the variable is None. lower -- Converts upper-case letters to lower case. upper -- Converts lower-case letters to upper case. capitalize -- Capitalizes the first character of the inserted word. spacify -- Changes underscores in the inserted value to spaces. thousands_commas -- Inserts commas every three digits to the left of a decimal point in values containing numbers for example '12000' becomes '12,000'. url -- Inserts the URL of the object, by calling its 'absolute_url' method. url_quote -- Converts characters that have special meaning in URLs to HTML character entities. url_quote_plus -- URL quotes character, like 'url_quote' but also converts spaces to plus signs. url_unquote -- Converts HTML '%xx' escapes into their single character values (ie: undoes the effects of url_quote). url_unquote_plus -- Like url_unquote, but also replaces '+' characters with spaces (ie: undoes the effects of url_quote_plus). sql_quote -- Converts single quotes to pairs of single quotes. This is needed to safely include values in SQL strings. newline_to_br -- Convert newlines (including carriage returns) to HTML break tags. size=arg -- Truncates the variable at the given length (Note: if a space occurs in the second half of the truncated string, then the string is further truncated to the right-most space). etc=arg -- Specifies a string to add to the end of a string which has been truncated (by setting the 'size' attribute listed above). By default, this is '...' Examples Inserting a simple variable into a document:: Truncation:: will produce the following output if *colors* is the string 'red yellow green':: red yellow, etc. C-style string formatting:: renders to:: 23432.23 Inserting a variable, *link*, inside an HTML 'A' tag with the entity syntax:: Link Inserting a link to a document 'doc', using entity syntax with attributes:: This creates an HTML link to an object using its URL and title. This example calls the object's 'absolute_url' method for the URL (using the 'url' attribute) and its 'title_or_id' method for the title.