Skip to content

Instantly share code, notes, and snippets.

@magevision
Created September 30, 2018 16:55
Show Gist options
  • Save magevision/7ca36d6e9e66e132be0f23d22d1e7c3c to your computer and use it in GitHub Desktop.
Save magevision/7ca36d6e9e66e132be0f23d22d1e7c3c to your computer and use it in GitHub Desktop.
RemoveALayoutBlockOnCondition
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="layout_generate_blocks_after">
<observer name="layout_load_before_remove_on_condition_block" instance="MageVision\Blog31\Observer\RemoveBlockOnConditionObserver" />
</event>
</config>
<?php
namespace MageVision\Blog31\Observer;
use Magento\Framework\Event\ObserverInterface;
use Magento\Framework\Event\Observer;
class RemoveBlockOnConditionObserver implements ObserverInterface
{
/**
* Remove block block
* - event: layout_generate_blocks_after
*
* @param Observer $observer
* @return void
*/
public function execute(Observer $observer)
{
/** @var \Magento\Framework\View\Layout $layout */
$layout = $observer->getLayout();
$block = $layout->getBlock('block_name');
if ($block) {
//Add your condition
$layout->unsetElement('block_name');
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment