本文整理汇总了PHP中Pim\Bundle\CatalogBundle\Model\AttributeInterface::setLocale方法的典型用法代码示例。如果您正苦于以下问题:PHP AttributeInterface::setLocale方法的具体用法?PHP AttributeInterface::setLocale怎么用?PHP AttributeInterface::setLocale使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Pim\Bundle\CatalogBundle\Model\AttributeInterface
的用法示例。
在下文中一共展示了AttributeInterface::setLocale方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1:
function it_throws_an_exception_if_no_groups_found($attributeGroupRepository, AttributeInterface $attribute, AttributeTranslation $translation)
{
$attribute->getId()->willReturn(null);
$attribute->getAttributeType()->willReturn('pim_reference_data_simpleselect');
$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();
$attributeGroupRepository->findOneByIdentifier('marketing')->willReturn(null);
$this->shouldThrow(new \InvalidArgumentException('AttributeGroup "marketing" does not exist'))->during('update', [$attribute, $data]);
}
示例2: setData
/**
* @param AttributeInterface $attribute
* @param string $field
* @param mixed $data
*
* @throws \InvalidArgumentException
*/
protected function setData(AttributeInterface $attribute, $field, $data)
{
if ('labels' === $field) {
foreach ($data as $localeCode => $label) {
$attribute->setLocale($localeCode);
$translation = $attribute->getTranslation();
$translation->setLabel($label);
}
} elseif ('group' === $field) {
$attributeGroup = $this->findAttributeGroup($data);
if (null !== $attributeGroup) {
$attribute->setGroup($attributeGroup);
} else {
throw new \InvalidArgumentException(sprintf('AttributeGroup "%s" does not exist', $data));
}
} else {
$this->accessor->setValue($attribute, $field, $data);
}
}
示例3:
function it_gets_all_product_attributes_and_sets_correct_locale($attributeRepository, $massActionManager, AttributeInterface $attr1, AttributeInterface $attr2, AttributeGroupInterface $attrGroup, LocaleInterface $enLocale)
{
$enLocale->getCode()->willReturn('en_US');
$this->setLocale($enLocale);
$attributeRepository->findWithGroups([], ['conditions' => ['unique' => 0]])->shouldBeCalled()->willReturn([$attr1, $attr2]);
$attr1->setLocale('en_US')->shouldBeCalled();
$attr2->setLocale('en_US')->shouldBeCalled();
$attr1->getGroup()->willReturn($attrGroup);
$attr2->getGroup()->willReturn($attrGroup);
$massActionManager->filterLocaleSpecificAttributes([$attr1, $attr2], 'en_US')->willReturn([$attr1, $attr2]);
$attrGroup->setLocale('en_US')->shouldBeCalledTimes(2);
$this->getAllAttributes()->shouldReturn([$attr1, $attr2]);
}
示例4: setLabels
/**
* @param AttributeInterface $attribute
* @param array $data
*/
protected function setLabels(AttributeInterface $attribute, array $data)
{
foreach ($data as $localeCode => $label) {
$attribute->setLocale($localeCode);
$translation = $attribute->getTranslation();
$translation->setLabel($label);
}
}
示例5:
function it_filters_attributes_coming_from_variant_group($massActionManager, $productBuilder, ProductInterface $product1, ProductInterface $product2, AttributeInterface $name, AttributeInterface $name, AttributeInterface $description, AttributeInterface $price, AttributeGroup $otherGroup, ProductValueInterface $nameProductValue, ProductValueInterface $descriptionProductValue, ProductValueInterface $priceProductValue)
{
$this->setObjectsToMassEdit([$product1, $product2]);
$name->getGroup()->willReturn($otherGroup);
$name->setLocale('en_US')->shouldBeCalled();
$otherGroup->setLocale('en_US')->shouldBeCalled();
$description->getGroup()->willReturn($otherGroup);
$description->setLocale('en_US')->shouldBeCalled();
$price->getGroup()->willReturn($otherGroup);
$price->setLocale('en_US')->shouldBeCalled();
$product1->getId()->willReturn(1);
$product2->getId()->willReturn(2);
$name->setLocale(Argument::any())->willReturn($name);
$name->isScopable()->willReturn(false);
$name->getCode()->willReturn('name');
$description->setLocale(Argument::any())->willReturn($description);
$description->isScopable()->willReturn(false);
$description->getCode()->willReturn('description');
$price->setLocale(Argument::any())->willReturn($price);
$price->isScopable()->willReturn(false);
$price->getCode()->willReturn('price');
$this->setObjectsToMassEdit([$product1, $product2]);
$massActionManager->findCommonAttributes([$product1, $product2])->willReturn([$name, $description, $price]);
$massActionManager->filterLocaleSpecificAttributes([$name, $description, $price], 'en_US')->willReturn([$name, $description, $price]);
$massActionManager->filterAttributesComingFromVariant([$name, $description, $price], [$product1, $product2])->willReturn([$name, $price]);
$productBuilder->createProductValue($name, 'en_US')->willReturn($nameProductValue);
$productBuilder->addMissingPrices($nameProductValue)->shouldBeCalled();
$productBuilder->createProductValue($price, 'en_US')->willReturn($priceProductValue);
$productBuilder->addMissingPrices($priceProductValue)->shouldBeCalled();
$this->initialize();
$this->getCommonAttributes()->shouldReturn([$name, $price]);
$this->getValues()->shouldHaveCount(2);
}