NodeConverter
class NodeConverter extends AbstractTypeConverter (View source)
An Object Converter for Nodes which can be used for routing (but also for other purposes) as a plugin for the Property Mapper.
Constants
REMOVED_CONTENT_SHOWN |
|
INVISIBLE_CONTENT_SHOWN |
|
Properties
protected array | $sourceTypes | ||
protected Context | $securityContext | ||
protected ObjectManagerInterface | $objectManager | ||
protected PropertyMapper | $propertyMapper | ||
protected ContextFactoryInterface | $contextFactory | ||
protected NodeFactory | $nodeFactory | ||
protected NodeTypeManager | $nodeTypeManager | ||
protected NodeServiceInterface | $nodeService | ||
protected string | $targetType | ||
protected int | $priority |
Methods
Converts the specified $source into a Node.
Iterates through the given $properties setting them on the specified $node using the appropriate TypeConverters.
Prepares the context properties for the nodes based on the given workspace and dimensions
Details
mixed
convertFrom(string|array $source, string $targetType, array $subProperties = [], PropertyMappingConfigurationInterface $configuration = null)
Converts the specified $source into a Node.
If $source is a UUID it is expected to refer to the identifier of a NodeData record of the "live" workspace
Otherwise $source has to be a valid node path:
The node path must be an absolute context node path and can be specified as a string or as an array item with the key "__contextNodePath". The latter case is for updating existing nodes.
This conversion method does not support / allow creation of new nodes because new nodes should be created through the createNode() method of an existing reference node.
Also note that the context's "current node" is not affected by this object converter, you will need to set it to whatever node your "current" node is, if any.
All elements in the source array which start with two underscores (like __contextNodePath) are specially treated by this converter.
All elements in the source array which start with a single underscore (like _hidden) are directly* set on the Node object.
All other elements, not being prefixed with underscore, are properties of the node.
protected void
setNodeProperties(object $nodeLike, NodeType $nodeType, array $properties, Context $context, PropertyMappingConfigurationInterface $configuration = null)
Iterates through the given $properties setting them on the specified $node using the appropriate TypeConverters.
protected array
prepareContextProperties(string $workspaceName, PropertyMappingConfigurationInterface $configuration = null, array $dimensions = null)
Prepares the context properties for the nodes based on the given workspace and dimensions