本文整理汇总了PHP中Pim\Bundle\CatalogBundle\Model\ProductInterface::hasAttribute方法的典型用法代码示例。如果您正苦于以下问题:PHP ProductInterface::hasAttribute方法的具体用法?PHP ProductInterface::hasAttribute怎么用?PHP ProductInterface::hasAttribute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Pim\Bundle\CatalogBundle\Model\ProductInterface
的用法示例。
在下文中一共展示了ProductInterface::hasAttribute方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: denormalizeValues
/**
* Denormalize product values
*
* @param string $data
* @param string $format
* @param array $context
* @param ProductInterface $product
*/
protected function denormalizeValues($data, $format, array $context, ProductInterface $product)
{
foreach ($product->getValues() as $value) {
$product->removeValue($value);
}
foreach ($data as $attFieldName => $dataValue) {
$attributeInfos = $this->fieldNameBuilder->extractAttributeFieldNameInfos($attFieldName);
$attribute = $attributeInfos['attribute'];
unset($attributeInfos['attribute']);
if (!$product->hasAttribute($attribute)) {
$this->productBuilder->addAttributeToProduct($product, $attribute);
}
// Denormalize data value.
// The value is already added to the product so automatically updated
$productValue = $product->getValue($attribute->getCode(), $attributeInfos['locale_code'], $attributeInfos['scope_code']);
$this->serializer->denormalize($dataValue, $this->productValueClass, $format, ['product' => $product, 'entity' => $productValue] + $attributeInfos + $context);
}
}