本文整理汇总了PHP中Magento\Framework\Model\AbstractExtensibleModel::setData方法的典型用法代码示例。如果您正苦于以下问题:PHP AbstractExtensibleModel::setData方法的具体用法?PHP AbstractExtensibleModel::setData怎么用?PHP AbstractExtensibleModel::setData使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Framework\Model\AbstractExtensibleModel
的用法示例。
在下文中一共展示了AbstractExtensibleModel::setData方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setData
/**
* Enforce format of the street field
*
* @param array|string $key
* @param null $value
* @return \Magento\Framework\Object
*/
public function setData($key, $value = null)
{
if (is_array($key)) {
$key = $this->_implodeStreetField($key);
} elseif ($key == 'street') {
$value = $this->_implodeStreetValue($value);
}
return parent::setData($key, $value);
}
示例2: addCustomAttributesToModel
/**
* @param string[] $attributesAsArray
* @param \Magento\Framework\Model\AbstractExtensibleModel $model
* @return \Magento\Framework\Api\AttributeInterface[]
*/
protected function addCustomAttributesToModel($attributesAsArray, $model)
{
$addedAttributes = [];
foreach ($attributesAsArray as $attributeCode => $attributeValue) {
$addedAttributes[$attributeCode] = new AttributeValue([AttributeValue::ATTRIBUTE_CODE => $attributeCode, AttributeValue::VALUE => $attributeValue]);
}
$model->setData(array_merge($model->getData(), [\Magento\Framework\Api\CustomAttributesDataInterface::CUSTOM_ATTRIBUTES => $addedAttributes]));
return $addedAttributes;
}
示例3: setData
/**
* Overwrite data in the object.
*
* The $key can be string or array.
* If $key is string, the attribute value will be overwritten by $value
*
* If $key is an array, it will overwrite all the data in the object.
*
* $isChanged will specify if the object needs to be saved after an update.
*
* @param string|array $key
* @param mixed $value
* @return \Magento\Framework\DataObject
*/
public function setData($key, $value = null)
{
if ($this->hasLockedAttributes()) {
if (is_array($key)) {
foreach ($this->getLockedAttributes() as $attribute) {
if (isset($key[$attribute])) {
unset($key[$attribute]);
}
}
} elseif ($this->isLockedAttribute($key)) {
return $this;
}
} elseif ($this->isReadonly()) {
return $this;
}
return parent::setData($key, $value);
}
示例4: setData
/**
* Enforce format of the street field or other multiline custom attributes
*
* @param array|string $key
* @param null $value
* @return \Magento\Framework\DataObject
*/
public function setData($key, $value = null)
{
if (is_array($key)) {
$key = $this->_implodeArrayField($key);
} elseif (is_array($value) && $this->isAddressMultilineAttribute($key)) {
$value = $this->_implodeArrayValues($value);
}
return parent::setData($key, $value);
}
示例5: setData
/**
* Enforce format of the street field
*
* @param array|string $key
* @param null $value
* @return \Magento\Framework\Object
*/
public function setData($key, $value = null)
{
if (is_array($key)) {
$key = $this->_implodeArrayField($key);
} elseif (is_array($value)) {
$value = $this->_implodeArrayValues($value);
}
return parent::setData($key, $value);
}