This reference is addressed to developers who want to create or edit ISML templates.
Such templates combine HTML with a proprietary language extension referred to as Intershop Markup Language (ISML):
- ISML is an extended markup language based on JavaServer Pages technology and is primarily used to add dynamic content to a page.
- ISML provides means to retrieve data from the pipeline dictionary, to trigger the execution of pipelines, and to embed templates inside other templates.
- Accounting for the variable parts of a template, ISML makes it possible to derive an infinite number of pages from a single template, it also provides an essential prerequisite for features such as personalization.
See chapter ISML Template Development of the Application Programming Guide for more detailed information about the concepts and the use of ISML.
One group of the basic language elements of ISML is the "ISML tags". ISML tags define commands that describe how Intershop 7 should embed dynamic data into a page, and how to format this data together with regular HTML code.
In addition to the standard tags there also exist ISML custom tags and ISML modules.
An ISML tag has a specific name that always starts with the prefix
IS, such as
<isset>. A tag can have several attributes to control its behavior. ISML tags and their attribute names are case insensitive. However, the values of attributes are often case sensitive.
See Reference - ISML Tags for details.
2.2 ISML Modules Defined in modules.isml Files
These tags are defined in modules.isml files. See
<ISMODULE> for detailed information on how to use the
Usually, the modules.isml file defining the custom tag provides a brief description of the functionality and use of the custom tag.
Use Intershop Studio to filter for modules.isml files.
ISML Custom Tags are defined in modules.properties files. These tags can be used if your cartridge depends on the cartridge with the corresponding modules.properties file.
- Start Intershop Studio.
- Open the ISML Template View.
Window | Show View | Other... | ISML Templates
- Open the filter drop-down menu .
- Toggle ISML Module to display the modules.isml files.
- Open the desired modules.isml files.
The documentation is available as comments in the source code.
Using Custom Tags defined in modules.properties files tags provides a significant performance increase compared to referencing modules.isml files.
See Reference - ISML Custom Tags for details.
3 ISML ExpressionsISML expressions encode arithmetical, Boolean, and string operations, as well as special function calls. They are used to perform calculations, to compare values, or to produce new values in combination with functions. ISML expressions are evaluated at runtime every time output is generated from a specific template.
Expressions can be composed of:
See Reference - ISML Expressions for details.
3.1 ISML Template VariablesTemplate variables are placeholders for dynamic content used in ISML Expressions. They are used to refer to data stored in the pipeline dictionary and to be displayed on the page generated from the template. The pipeline dictionary stores these data objects as keyvalue pairs. Via the key, template variables identify a data object in the pipeline dictionary.
See Reference - ISML Template Variables for details.
3.2 ISML ConstantsConstants are used within ISML Expressions. There are two different types of constants:
- Numerical Constants
- String Constants
ISML expressions can use both numerical and string constants.
See Reference - ISML Constants for details.
3.3 ISML OperatorsAn operator is a symbol that represents a specific action. For example, a plus sign (+) is an operator that represents addition. Operators are used within ISML Expressions and allow you to manipulate numerical and string values stored as variables or constants. In case one or more operators are not of the required types as described below, a runtime exception will occur.
See Reference - ISML Operators for details.
3.4 ISML FunctionsFunctions are used in ISML Expressions to perform a specific task and return a specific value when the template is processed to generate its output. ISML functions are, for example, used to dynamically generate URLs for links to other storefront pages (
urlex()), or to operate on strings.
See Reference - ISML Functions for details.
4 Guide - ISML Template Style Guide
This document describes best practice conventions for development of templates for applications based on Intershop 7. It outlines standards that have been defined and implemented during development of solutions based on Intershop 7 that proved to be successful, helpful or desirable. Although following these standards is not always technically necessary, Intershop strongly recommends that all parts of Intershop, implementation partners and customers follow these standards to:
- Increase the readability of the source code of ISML templates,
- Reduce frictions in software development,
- Allow for reusing code,
- Make ISML templates compliant with the XHTML standard,
- Simplify managing ISML templates by using a proper naming scheme.
See Guide - ISML Template Style Guide for details.