When we get a templates source, we want to expand macros references.
Objects
- PT
- The page template
- PT2
- Another page template
- TI
- An object that implements the TALImplementation interface.
- CTAL
- A compiled TAL data structure returned from a TAL compile call.
- CTAL2
- ditto.
- EEF
- An object that implements the ExpressionEngineFactory? interface.
- EE
- An object that implements the ExpressionEngine? interface.
- cexpr
- A compiled expression. This will be context-dependent. For example, when we are executing a define. this will be a different expression for each definition.
Sequence
- PT calls EEF.create(data)
to create an expression engine. The expression is passed names to be included in the standard namespace. The call returns an expression engine, EE.
- PT calls TI.getSource(CTAL, EE)
When a use-macro is encountered,
- TI calls EE.macro(cexpr)
The expression engine evaluates the expression. This is likely to involve traversal into a page template, which will ask the TAL implementation for the macro.
PT2 calls TI.findMacro(CTAL2, name)
- TI calls EE.macro(cexpr)