15 class Head implements Layout\ReaderInterface
53 switch ($node->getName()) {
55 $node->addAttribute(
'content_type',
'css');
58 $node->addAttribute(
'content_type',
'js');
74 $pageConfigStructure = $readerContext->getPageConfigStructure();
78 foreach ($headElement as $node) {
79 $nodeOrder = $node->getAttribute(
'order') ?: 0;
80 $orderedNodes[$nodeOrder][] = $node;
84 foreach ($orderedNodes as $nodes) {
86 foreach ($nodes as $node) {
87 $this->processNode($node, $pageConfigStructure);
102 foreach (
$element->attributes() as $attrName => $attrValue) {
115 private function setMetadata($pageConfigStructure, $node)
117 if (!$node->getAttribute(
'name') && $node->getAttribute(
'property')) {
118 $metadataName = $node->getAttribute(
'property');
120 $metadataName = $node->getAttribute(
'name');
123 $pageConfigStructure->setMetadata($metadataName, $node->getAttribute(
'content'));
133 private function processNode(
Layout\
Element $node, Structure $pageConfigStructure)
135 switch ($node->getName()) {
140 $pageConfigStructure->addAssets($node->getAttribute(
'src'), $this->
getAttributes($node));
144 $pageConfigStructure->removeAssets($node->getAttribute(
'src'));
148 $pageConfigStructure->setTitle(
new \
Magento\Framework\
Phrase($node));
152 $this->setMetadata($pageConfigStructure, $node);
156 $pageConfigStructure->setElementAttribute(
157 PageConfig::ELEMENT_TYPE_HEAD,
158 $node->getAttribute(
'name'),
159 $node->getAttribute(
'value')
interpret(Reader\Context $readerContext, Element $element)
addContentTypeByNodeName(Layout\Element $node)