Skip to content

Commit d6961a2

Browse files
committed
MAGETWO-88286: Add Extension point foe content related Attributes
1 parent 572ae27 commit d6961a2

File tree

3 files changed

+68
-10
lines changed

3 files changed

+68
-10
lines changed

app/code/Magento/Catalog/Model/Product/Attribute/Source/Inputtype.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,16 @@ class Inputtype extends \Magento\Eav\Model\Adminhtml\System\Config\Source\Inputt
2828
/**
2929
* @param \Magento\Framework\Event\ManagerInterface $eventManager
3030
* @param \Magento\Framework\Registry $coreRegistry
31+
* @param array $optionsArray
3132
*/
3233
public function __construct(
3334
\Magento\Framework\Event\ManagerInterface $eventManager,
34-
\Magento\Framework\Registry $coreRegistry
35+
\Magento\Framework\Registry $coreRegistry,
36+
array $optionsArray = []
3537
) {
3638
$this->_eventManager = $eventManager;
3739
$this->_coreRegistry = $coreRegistry;
40+
parent::__construct($optionsArray);
3841
}
3942

4043
/**

app/code/Magento/Eav/Model/Adminhtml/System/Config/Source/Inputtype.php

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,34 @@
77

88
class Inputtype implements \Magento\Framework\Option\ArrayInterface
99
{
10+
/**
11+
* @var array
12+
*/
13+
private $optionsArray;
14+
15+
/**
16+
* Inputtype constructor.
17+
* @param array $optionsArray
18+
*/
19+
public function __construct(array $optionsArray = [])
20+
{
21+
$this->optionsArray = $optionsArray;
22+
}
23+
1024
/**
1125
* Return array of options
1226
*
1327
* @return array
1428
*/
1529
public function toOptionArray()
1630
{
17-
return [
18-
['value' => 'text', 'label' => __('Text Field')],
19-
['value' => 'textarea', 'label' => __('Text Area')],
20-
['value' => 'texteditor', 'label' => __('Text Editor')],
21-
['value' => 'date', 'label' => __('Date')],
22-
['value' => 'boolean', 'label' => __('Yes/No')],
23-
['value' => 'multiselect', 'label' => __('Multiple Select')],
24-
['value' => 'select', 'label' => __('Dropdown')]
25-
];
31+
$result = [];
32+
//sort array elements using key value
33+
ksort($this->optionsArray);
34+
foreach ($this->optionsArray as $option) {
35+
$result[] = $option;
36+
}
37+
return $result;
2638
}
2739

2840
/**
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?xml version="1.0"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
9+
<type name="Magento\Eav\Model\Adminhtml\System\Config\Source\Inputtype">
10+
<arguments>
11+
<argument name="optionsArray" xsi:type="array">
12+
<item name="100" xsi:type="array">
13+
<item name="value" xsi:type="string">text</item>
14+
<item name="label" xsi:type="string" translate="true">Text Field</item>
15+
</item>
16+
<item name="200" xsi:type="array">
17+
<item name="value" xsi:type="string">textarea</item>
18+
<item name="label" xsi:type="string" translate="true">Text Area</item>
19+
</item>
20+
<item name="300" xsi:type="array">
21+
<item name="value" xsi:type="string">texteditor</item>
22+
<item name="label" xsi:type="string" translate="true">Text Editor</item>
23+
</item>
24+
<item name="400" xsi:type="array">
25+
<item name="value" xsi:type="string">date</item>
26+
<item name="label" xsi:type="string" translate="true">Date</item>
27+
</item>
28+
<item name="500" xsi:type="array">
29+
<item name="value" xsi:type="string">boolean</item>
30+
<item name="label" xsi:type="string" translate="true">Yes/No</item>
31+
</item>
32+
<item name="600" xsi:type="array">
33+
<item name="value" xsi:type="string">multiselect</item>
34+
<item name="label" xsi:type="string" translate="true">Multiple Select</item>
35+
</item>
36+
<item name="700" xsi:type="array">
37+
<item name="value" xsi:type="string">select</item>
38+
<item name="label" xsi:type="string" translate="true">Dropdown</item>
39+
</item>
40+
</argument>
41+
</arguments>
42+
</type>
43+
</config>

0 commit comments

Comments
 (0)