PortableInfobox/includes/services/Parser/Nodes/NodeSection.php
2022-03-11 13:35:51 -07:00

30 lines
770 B
PHP

<?php
namespace PortableInfobox\Parser\Nodes;
class NodeSection extends Node {
public function getData() {
if ( !isset( $this->data ) ) {
$this->data = [
'label' => $this->getInnerValue( $this->xmlNode->{self::LABEL_TAG_NAME} ),
'value' => $this->getRenderDataForChildren(),
'item-name' => $this->getItemName(),
];
}
return $this->data;
}
protected function getChildNodes() {
if ( !isset( $this->children ) ) {
$this->children = [];
foreach ( $this->xmlNode as $child ) {
if ( !in_array( $child->getName(), [ 'section', 'panel', 'label' ] ) ) {
$this->children[] = NodeFactory::newFromSimpleXml( $child, $this->infoboxData )
->setExternalParser( $this->externalParser );
}
}
}
return $this->children;
}
}