ProductAttributeGridBuildObserver.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. /**
  3. * Product attribute edit form observer
  4. *
  5. * Copyright © Magento, Inc. All rights reserved.
  6. * See COPYING.txt for license details.
  7. */
  8. namespace Magento\LayeredNavigation\Observer\Grid;
  9. use Magento\Framework\Module\Manager;
  10. use Magento\Framework\Event\ObserverInterface;
  11. class ProductAttributeGridBuildObserver implements ObserverInterface
  12. {
  13. /**
  14. * @var \Magento\Framework\Module\Manager
  15. */
  16. protected $moduleManager;
  17. /**
  18. * @param Manager $moduleManager
  19. */
  20. public function __construct(Manager $moduleManager)
  21. {
  22. $this->moduleManager = $moduleManager;
  23. }
  24. /**
  25. * @param \Magento\Framework\Event\Observer $observer
  26. * @return void
  27. */
  28. public function execute(\Magento\Framework\Event\Observer $observer)
  29. {
  30. if (!$this->moduleManager->isOutputEnabled('Magento_LayeredNavigation')) {
  31. return;
  32. }
  33. /** @var \Magento\Catalog\Block\Adminhtml\Product\Attribute\Grid $grid */
  34. $grid = $observer->getGrid();
  35. $grid->addColumnAfter(
  36. 'is_filterable',
  37. [
  38. 'header' => __('Use in Layered Navigation'),
  39. 'sortable' => true,
  40. 'index' => 'is_filterable',
  41. 'type' => 'options',
  42. 'options' => [
  43. '1' => __('Filterable (with results)'),
  44. '2' => __('Filterable (no results)'),
  45. '0' => __('No'),
  46. ],
  47. 'align' => 'center',
  48. ],
  49. 'is_searchable'
  50. );
  51. }
  52. }