public function renderManageTags($context) { if (!$this->blockEnvironment || $this->blockEnvironment->getBlockMode() !== 'manage') { return; } $tags = ''; if (isset($context['block'])) { /** @var Block $block */ $block = $context['block']; $ownerId = $block->getOwner() ? $block->getOwner()->getId() : null; if (isset($context['pointer']) && $context['pointer'] instanceof PointerBlock) { $tags .= sprintf(' data-pm-block-manage="true" data-pm-block-id="%d" data-pm-block-owner-id="%d" data-pm-block-type="%s"', $context['pointer']->getId(), $ownerId, $context['manage_type']); $tags .= sprintf(' data-pm-block-pointer="true" data-pm-block-reference-id="%d"', $block->getId()); } else { $tags .= sprintf(' data-pm-block-manage="true" data-pm-block-id="%d" data-pm-block-owner-id="%d" data-pm-block-type="%s"', $block->getId(), $ownerId, $context['manage_type']); } } elseif ($context['manage_type'] == 'placeholder') { $tags .= sprintf(' data-pm-type="placeholder" data-pm-placeholder-key="%s" data-pm-placeholder-id="%s"', $context['key'], $context['id']); } if (isset($context['block_service'])) { $service = $context['block_service']; $tags .= sprintf(' data-pm-tool=\'%s\'', json_encode(array('icon' => $service->getTool()->getIcon()))); } return $tags; }