56 $position = strpos(
$class,
'\\Block\\');
57 $key = $position !==
false ? substr(
$class, $position + 7) :
$class;
58 $key = strtolower(trim($key,
'_'));
59 return $key . $this->counter++;
77 if (!(
string)$currentNode->getAttribute(
'name')) {
79 $currentNode->setAttribute(
'name',
$name);
81 $path =
$name = (string)$currentNode->getAttribute(
'name');
85 self::SCHEDULED_STRUCTURE_INDEX_TYPE => $currentNode->getName(),
86 self::SCHEDULED_STRUCTURE_INDEX_ALIAS =>
'',
87 self::SCHEDULED_STRUCTURE_INDEX_PARENT_NAME =>
'',
88 self::SCHEDULED_STRUCTURE_INDEX_SIBLING_NAME =>
null,
89 self::SCHEDULED_STRUCTURE_INDEX_IS_AFTER =>
true,
92 $parentName = $parentNode->getElementName();
98 list(
$row[self::SCHEDULED_STRUCTURE_INDEX_SIBLING_NAME],
129 if (0 === strpos($childPath,
"{$path}/")) {
146 if (isset($node[
'after'])) {
147 $result[0] = (string)$node[
'after'];
148 }
elseif (isset($node[
'before'])) {
149 $result[0] = (string)$node[
'before'];
177 if (!isset(
$row[self::SCHEDULED_STRUCTURE_INDEX_TYPE])) {
178 $this->logger->critical(
"Broken reference: missing declaration of the element '{$key}'.");
193 }
catch (\Exception $e) {
194 $this->logger->critical($e);
201 "Broken reference: the '{$name}' element cannot be added as child to '{$parentName}', " .
202 'because the latter doesn\'t exist' 237 $structure->createElement(
$name, [
'type' =>
$type]);
elseif(isset( $params[ 'redirect_parent']))
__construct(\Psr\Log\LoggerInterface $logger, State $state)
const SCHEDULED_STRUCTURE_INDEX_PARENT_NAME
$_option $_optionId $class
scheduleStructure(Layout\ScheduledStructure $scheduledStructure, Layout\Element $currentNode, Layout\Element $parentNode)
_createStructuralElement(Layout\Data\Structure $structure, $name, $type, $class)
_generateAnonymousName($class)
const SCHEDULED_STRUCTURE_INDEX_ALIAS
scheduleElement(Layout\ScheduledStructure $scheduledStructure, Layout\Data\Structure $structure, $key)
_beforeAfterToSibling($node)
const SCHEDULED_STRUCTURE_INDEX_SIBLING_NAME
const SCHEDULED_STRUCTURE_INDEX_IS_AFTER
const SCHEDULED_STRUCTURE_INDEX_TYPE
_overrideElementWorkaround(Layout\ScheduledStructure $scheduledStructure, $name, $path)
if(!isset($_GET['name'])) $name