Guest User

Untitled

a guest
Jan 16th, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.49 KB | None | 0 0
  1. <type name="MagentoCatalogUiDataProviderProductProductDataProvider">
  2. <arguments>
  3. <argument name="addFieldStrategies" xsi:type="array">
  4. <item name="configurable_options" xsi:type="object">TrainingUnit6UiDataProviderProductAddConfigurableOptionsToCollection</item>
  5. </argument>
  6. </arguments>
  7. </type>
  8.  
  9. <container name="listing_top">
  10. <filters name="listing_filters">
  11. <filterSelect name="configurable_options">
  12. <argument name="optionsProvider" xsi:type="configurableObject">
  13. <argument name="class" xsi:type="string">TrainingUnit6UiComponentListingColumnOptions</argument>
  14. </argument>
  15. <argument name="data" xsi:type="array">
  16. <item name="config" xsi:type="array">
  17. <item name="provider" xsi:type="string">${ $.parentName }</item>
  18. <item name="imports" xsi:type="array">
  19. <item name="visible" xsi:type="string">componentType = column, index = ${ $.index }:visible</item>
  20. </item>
  21. <item name="dataScope" xsi:type="string">configurable_options</item>
  22. <item name="caption" xsi:type="string" translate="true">Select...</item>
  23. <item name="label" xsi:type="string" translate="true">Configurable options</item>
  24. </item>
  25. </argument>
  26. </filterSelect>
  27. </filters>
  28. </container>
  29.  
  30. <container name="listing_top">
  31. <filters name="listing_filters">
  32. <filterSelect name="configurable_options">
  33. <argument name="optionsProvider" xsi:type="configurableObject">
  34. <argument name="class" xsi:type="string">TrainingUnit6UiComponentListingColumnOptions</argument>
  35. </argument>
  36. <argument name="data" xsi:type="array">
  37. <item name="config" xsi:type="array">
  38. <item name="provider" xsi:type="string">${ $.parentName }</item>
  39. <item name="imports" xsi:type="array">
  40. <item name="visible" xsi:type="string">componentType = column, index = ${ $.index }:visible</item>
  41. </item>
  42. <item name="dataScope" xsi:type="string">configurable_options</item>
  43. <item name="caption" xsi:type="string" translate="true">Select...</item>
  44. <item name="label" xsi:type="string" translate="true">Configurable options</item>
  45. </item>
  46. </argument>
  47. </filterSelect>
  48. </filters>
  49. </container>
  50.  
  51. <container name="listing_top">
  52. <filters name="listing_filters">
  53. <filterSelect name="configurable_options">
  54. <argument name="optionsProvider" xsi:type="configurableObject">
  55. <argument name="class" xsi:type="string">TrainingUnit6UiComponentListingColumnOptions</argument>
  56. </argument>
  57. <argument name="data" xsi:type="array">
  58. <item name="config" xsi:type="array">
  59. <item name="provider" xsi:type="string">${ $.parentName }</item>
  60. <item name="imports" xsi:type="array">
  61. <item name="visible" xsi:type="string">componentType = column, index = ${ $.index }:visible</item>
  62. </item>
  63. <item name="dataScope" xsi:type="string">configurable_options</item>
  64. <item name="caption" xsi:type="string" translate="true">Select...</item>
  65. <item name="label" xsi:type="string" translate="true">Configurable options</item>
  66. </item>
  67. </argument>
  68. </filterSelect>
  69. </filters>
  70. </container>
  71.  
  72. <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
  73. <preference for="MagentoCatalogUiDataProviderProductProductDataProvider" type="TrainingUnit6UiDataProviderProductAddProductSeriesOptionsToCollection"/>
  74. </config>
  75.  
  76. <?xml version="1.0" encoding="UTF-8"?>
  77. <listing xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
  78. <listingToolbar name="listing_top">
  79. </listingToolbar>
  80. <column name="product_series" class="TrainingUnit6UiComponentListingColumnProductSeries">
  81. <argument name="data" xsi:type="array">
  82. <item name="config" xsi:type="array">
  83. <item name="filter" xsi:type="string">text</item>
  84. <item name="add_field" xsi:type="boolean">false</item>
  85. <item name="dataType" xsi:type="string">text</item>
  86. <item name="label" xsi:type="string" translate="true">Product series</item>
  87. <item name="sortOrder" xsi:type="number">100</item>
  88. </item>
  89. </argument>
  90. </column>
  91. </columns>
  92. </listing>
  93.  
  94. namespace TrainingUnit6UiComponentListingColumn;
  95. use MagentoFrameworkViewElementUiComponentFactory;
  96. use MagentoFrameworkViewElementUiComponentContextInterface;
  97. /**
  98. * Class Price
  99. */
  100. class ProductSeries extends MagentoUiComponentListingColumnsColumn
  101. {
  102. protected $_productloader;
  103. public function __construct(
  104. ContextInterface $context,
  105. UiComponentFactory $uiComponentFactory,
  106. MagentoCatalogModelProductFactory $_productloader,
  107. array $components = [],
  108. array $data = []
  109. ) {
  110. parent::__construct($context,$uiComponentFactory, $components, $data);
  111. $this->_productloader = $_productloader;
  112. }
  113. /**
  114. * Prepare Data Source
  115. *
  116. * @param array $dataSource
  117. * @return array
  118. */
  119. public function prepareDataSource(array $dataSource)
  120. {
  121. //$fieldName = $this->getData('name');
  122. return $dataSource;
  123. }
  124. }
  125.  
  126. namespace TrainingUnit6UiDataProviderProduct;
  127. class AddProductSeriesOptionsToCollection extends MagentoCatalogUiDataProviderProductProductDataProvider
  128. {
  129. public function addFilter(MagentoFrameworkApiFilter $filter)
  130. {
  131. if($filter->getField()=='unit6'){
  132. $this->getCollection()->addCategoriesFilter(array('in' => $filter->getValue()));
  133. }
  134. elseif (isset($this->addFilterStrategies[$filter->getField()])) {
  135. $this->addFilterStrategies[$filter->getField()]
  136. ->addFilter(
  137. $this->getCollection(),
  138. $filter->getField(),
  139. [$filter->getConditionType() => $filter->getValue()]
  140. );
  141. } else {
  142. parent::addFilter($filter);
  143. }
  144. }
  145. }
Add Comment
Please, Sign In to add comment