_persistentSession = $persistentSession; $this->_url = $url; $this->_layout = $layout; $this->_escaper = $escaper; $this->_customerViewHelper = $customerViewHelper; $this->customerRepository = $customerRepository; } /** * Emulate 'welcome' block with persistent data * * @param \Magento\Framework\View\Element\AbstractBlock $block * @return $this */ public function emulateWelcomeBlock($block) { $block->setWelcome(' '); return $this; } /** * Emulate 'account links' block with persistent data * * @return void */ protected function _applyAccountLinksPersistentData() { if (!$this->_layout->getBlock('header.additional')) { $this->_layout->addBlock(\Magento\Persistent\Block\Header\Additional::class, 'header.additional'); } } /** * Emulate 'top links' block with persistent data * * @param \Magento\Framework\View\Element\AbstractBlock $block * @return void */ public function emulateTopLinks($block) { $this->_applyAccountLinksPersistentData(); /** @var \Magento\Framework\View\Element\Html\Link[] $links */ $links = $block->getLinks(); $removeLink = $this->_url->getUrl('customer/account/login'); foreach ($links as $link) { if ($link->getHref() == $removeLink) { $this->_layout->unsetChild($block->getNameInLayout(), $link->getNameInLayout()); } } } }