1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
/** |
4
|
|
|
* TechDivision\Import\Attribute\Observers\AttributeOptionSwatchObserver |
5
|
|
|
* |
6
|
|
|
* NOTICE OF LICENSE |
7
|
|
|
* |
8
|
|
|
* This source file is subject to the Open Software License (OSL 3.0) |
9
|
|
|
* that is available through the world-wide-web at this URL: |
10
|
|
|
* http://opensource.org/licenses/osl-3.0.php |
11
|
|
|
* |
12
|
|
|
* PHP version 5 |
13
|
|
|
* |
14
|
|
|
* @author Tim Wagner <[email protected]> |
15
|
|
|
* @copyright 2016 TechDivision GmbH <[email protected]> |
16
|
|
|
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) |
17
|
|
|
* @link https://github.com/techdivision/import-attribute |
18
|
|
|
* @link http://www.techdivision.com |
19
|
|
|
*/ |
20
|
|
|
|
21
|
|
|
namespace TechDivision\Import\Attribute\Observers; |
22
|
|
|
|
23
|
|
|
use TechDivision\Import\Attribute\Utils\MemberNames; |
24
|
|
|
use TechDivision\Import\Utils\StoreViewCodes; |
25
|
|
|
|
26
|
|
|
/** |
27
|
|
|
* Observer that update's the attribute option swatchs found in the additional CSV file. |
28
|
|
|
* |
29
|
|
|
* @author Tim Wagner <[email protected]> |
30
|
|
|
* @copyright 2016 TechDivision GmbH <[email protected]> |
31
|
|
|
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) |
32
|
|
|
* @link https://github.com/techdivision/import-attribute |
33
|
|
|
* @link http://www.techdivision.com |
34
|
|
|
*/ |
35
|
|
|
class AttributeOptionSwatchUpdateObserver extends AttributeOptionSwatchObserver |
36
|
|
|
{ |
37
|
|
|
|
38
|
|
|
/** |
39
|
|
|
* Initialize the EAV attribute option value with the passed attributes and returns an instance. |
40
|
|
|
* |
41
|
|
|
* @param array $attr The EAV attribute option value attributes |
42
|
|
|
* |
43
|
|
|
* @return array The initialized EAV attribute option value |
44
|
|
|
*/ |
45
|
|
|
protected function initializeAttribute(array $attr) |
46
|
|
|
{ |
47
|
|
|
|
48
|
|
|
// initialize the data to load the EAV attribute option swatch |
49
|
|
|
$optionId = isset($attr[MemberNames::OPTION_ID]) ? $attr[MemberNames::OPTION_ID] : null; |
50
|
|
|
$storeId = $this->getRowStoreId(StoreViewCodes::ADMIN); |
|
|
|
|
51
|
|
|
|
52
|
|
|
// try to load the EAV attribute option swatch |
53
|
|
|
if ($attributeOptionSwatch = $this->loadAttributeOptionSwatchByOptionIdAndStoreId($optionId, $storeId)) { |
54
|
|
|
return $this->mergeEntity($attributeOptionSwatch, $attr); |
55
|
|
|
} |
56
|
|
|
|
57
|
|
|
// simply return the attributes |
58
|
|
|
return $attr; |
59
|
|
|
} |
60
|
|
|
|
61
|
|
|
/** |
62
|
|
|
* Load's and return's the EAV attribute option swatch with the passed code, store ID, value and type. |
63
|
|
|
* |
64
|
|
|
* @param integer $optionId |
65
|
|
|
* @param integer $storeId |
66
|
|
|
* |
67
|
|
|
* @return array The EAV attribute option swatch |
68
|
|
|
*/ |
69
|
|
|
protected function loadAttributeOptionSwatchByOptionIdAndStoreId($optionId, $storeId) |
70
|
|
|
{ |
71
|
|
|
return $this->getAttributeBunchProcessor()->loadAttributeOptionSwatchByOptionIdAndStoreId($optionId, $storeId); |
72
|
|
|
} |
73
|
|
|
} |
74
|
|
|
|
This method has been deprecated. The supplier of the class has supplied an explanatory message.
The explanatory message should give you some clue as to whether and when the method will be removed from the class and what other method or class to use instead.