本文整理汇总了PHP中Pim\Component\Catalog\Model\AttributeInterface::setAttributeType方法的典型用法代码示例。如果您正苦于以下问题:PHP AttributeInterface::setAttributeType方法的具体用法?PHP AttributeInterface::setAttributeType怎么用?PHP AttributeInterface::setAttributeType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Pim\Component\Catalog\Model\AttributeInterface
的用法示例。
在下文中一共展示了AttributeInterface::setAttributeType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1:
function it_updates_a_new_attribute($attrGroupRepo, AttributeInterface $attribute, AttributeTranslation $translation, AttributeGroupInterface $attributeGroup, PropertyAccessor $accessor)
{
$attribute->getId()->willReturn(null);
$attribute->getAttributeType()->willReturn('pim_reference_data_multiselect');
$data = ['labels' => ['en_US' => 'Test1', 'fr_FR' => 'Test2'], 'group' => 'marketing', 'attributeType' => 'pim_catalog_text'];
$attribute->setLocale('en_US')->shouldBeCalled();
$attribute->setLocale('fr_FR')->shouldBeCalled();
$attribute->getTranslation()->willReturn($translation);
$translation->setLabel('Test1')->shouldBeCalled();
$translation->setLabel('Test2')->shouldBeCalled();
$attrGroupRepo->findOneByIdentifier('marketing')->willReturn($attributeGroup);
$attribute->setGroup($attributeGroup)->shouldBeCalled();
$attribute->setAttributeType('pim_catalog_text')->shouldBeCalled();
$accessor->setValue($attribute, 'attributeType', 'pim_catalog_text');
$this->update($attribute, $data);
}
示例2: setType
/**
* @param AttributeInterface $attribute
* @param string|null $data
*/
protected function setType($attribute, $data)
{
if ('' === $data || null === $data) {
throw new \InvalidArgumentException('attributeType must be filled.');
}
try {
$attributeType = $this->registry->get($data);
$attribute->setAttributeType($attributeType->getName());
$attribute->setBackendType($attributeType->getBackendType());
$attribute->setUnique($attributeType->isUnique());
} catch (\LogicException $exception) {
throw new \InvalidArgumentException(sprintf('AttributeType "%s" does not exist.', $data));
}
}