| Current Path : /var/www/html/vendor/magento/module-weee/Observer/ |
| Current File : /var/www/html/vendor/magento/module-weee/Observer/SetWeeeRendererInFormObserver.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Weee\Observer;
use Magento\Framework\Event\ObserverInterface;
class SetWeeeRendererInFormObserver implements ObserverInterface
{
/**
* @var \Magento\Weee\Model\Tax
*/
protected $weeeTax;
/**
* @var \Magento\Framework\View\LayoutInterface
*/
protected $layout;
/**
* @param \Magento\Framework\View\LayoutInterface $layout
* @param \Magento\Weee\Model\Tax $weeeTax
*/
public function __construct(
\Magento\Framework\View\LayoutInterface $layout,
\Magento\Weee\Model\Tax $weeeTax
) {
$this->layout = $layout;
$this->weeeTax = $weeeTax;
}
/**
* Assign custom renderer for product create/edit form weee attribute element
*
* @param \Magento\Framework\Event\Observer $observer
* @return $this
*/
public function execute(\Magento\Framework\Event\Observer $observer)
{
/** @var \Magento\Framework\Data\Form $form */
$form = $observer->getEvent()->getForm();
$attributes = $this->weeeTax->getWeeeAttributeCodes(true);
foreach ($attributes as $code) {
$weeeTax = $form->getElement($code);
if ($weeeTax) {
$weeeTax->setRenderer($this->layout->createBlock(\Magento\Weee\Block\Renderer\Weee\Tax::class));
}
}
return $this;
}
}