You are browsing the documentation for version 3.1 of OroCommerce, OroCRM and OroPlatform, which is no longer maintained. Read version 5.1 (the latest LTS version) of the Oro documentation to get up-to-date information.
See our Release Process documentation for more information on the currently supported and upcoming releases.
Layout cache is based on layout context.
It uses the Context::getHash method to generate the cache key.
Layout cache uses
OroCacheBundle. For more information, see BlockViewCache.
Last Modification Date¶
The layout context contains the last modification date of the files with layout updates. It is registered with the
layout.context_configurator - LastModifiedDateContextConfigurator.
The layout cache contains the
root BlockView with children and variables.
The BlockView tree is serialized with
The following is the list of normalizers used in the
All normalizers are registered as a service in the DI container with the
Expressions / Evaluate and Evaluate Deferred¶
There are two groups of expressions in the BlockView options:
expressions_evaluate- expressions that do not work with
data. It evaluates before BlockTypeInterface::buildBlock
expressions_evaluate_deferred- expressions that work with
data. It evaluates after BlockTypeInterface::finishView
1 actions: 2 ... 3 - '@add': 4 id: blockId 5 parentId: parentId 6 blockType: typeName 7 options: 8 optionName: '=context["valueKey"]'
It will be evaluated before the BlockTypeInterface::buildBlock and the result will be cached.
1 actions: 2 ... 3 - '@add': 4 id: blockId 5 parentId: parentId 6 blockType: typeName 7 options: 8 optionName: '=data["valueKey"]'
It will be evaluated after BlockTypeInterface::finishView and the result will not be cached.