本文整理汇总了PHP中Pim\Component\Catalog\Model\GroupInterface::setAxisAttributes方法的典型用法代码示例。如果您正苦于以下问题:PHP GroupInterface::setAxisAttributes方法的具体用法?PHP GroupInterface::setAxisAttributes怎么用?PHP GroupInterface::setAxisAttributes使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Pim\Component\Catalog\Model\GroupInterface
的用法示例。
在下文中一共展示了GroupInterface::setAxisAttributes方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1:
function it_updates_a_group($groupTypeRepository, $attributeRepository, GroupInterface $group, GroupTypeInterface $type, GroupTranslation $translatable, AttributeInterface $attributeColor, AttributeInterface $attributeSize)
{
$groupTypeRepository->findOneByIdentifier('RELATED')->willReturn($type);
$attributeRepository->findOneByIdentifier('color')->willReturn($attributeColor);
$attributeRepository->findOneByIdentifier('size')->willReturn($attributeSize);
$group->getTranslation()->willReturn($translatable);
$translatable->setLabel('T-shirt super beau')->shouldBeCalled();
$group->setCode('mycode')->shouldBeCalled();
$group->setLocale('fr_FR')->shouldBeCalled();
$group->setType($type)->shouldBeCalled();
$group->setAxisAttributes([$attributeColor, $attributeSize])->shouldBeCalled();
$group->getId()->willReturn(null);
$values = ['code' => 'mycode', 'type' => 'RELATED', 'labels' => ['fr_FR' => 'T-shirt super beau'], 'axis' => ['color', 'size']];
$this->update($group, $values, []);
}
示例2:
function it_updates_a_group($groupTypeRepository, $attributeRepository, $pqbFactory, GroupInterface $group, GroupTypeInterface $type, GroupTranslation $translatable, AttributeInterface $attributeColor, AttributeInterface $attributeSize, ProductInterface $removedProduct, ProductInterface $addedProduct, ProductQueryBuilderInterface $pqb)
{
$groupTypeRepository->findOneByIdentifier('RELATED')->willReturn($type);
$attributeRepository->findOneByIdentifier('color')->willReturn($attributeColor);
$attributeRepository->findOneByIdentifier('size')->willReturn($attributeSize);
$pqbFactory->create()->willReturn($pqb);
$pqb->addFilter('id', 'IN', [2])->shouldBeCalled();
$pqb->execute()->willReturn([$addedProduct]);
$group->getTranslation()->willReturn($translatable);
$translatable->setLabel('T-shirt super beau')->shouldBeCalled();
$group->setCode('mycode')->shouldBeCalled();
$group->setLocale('fr_FR')->shouldBeCalled();
$group->setType($type)->shouldBeCalled();
$group->setAxisAttributes([$attributeColor, $attributeSize])->shouldBeCalled();
$group->getId()->willReturn(null);
$group->removeProduct($removedProduct)->shouldBeCalled();
$group->addProduct($addedProduct)->shouldBeCalled();
$group->getProducts()->willReturn([$removedProduct]);
$values = ['code' => 'mycode', 'type' => 'RELATED', 'labels' => ['fr_FR' => 'T-shirt super beau'], 'axis' => ['color', 'size'], 'products' => [2]];
$this->update($group, $values, []);
}
示例3: setAxis
/**
* @param GroupInterface $group
* @param string[] $attributeCodes
*
* @throws \InvalidArgumentException
*/
protected function setAxis(GroupInterface $group, array $attributeCodes)
{
$attributes = [];
foreach ($attributeCodes as $attributeCode) {
$attribute = $this->attributeRepository->findOneByIdentifier($attributeCode);
if (null === $attribute) {
throw new \InvalidArgumentException(sprintf('Attribute "%s" does not exist', $attributeCode));
}
$attributes[] = $attribute;
}
$group->setAxisAttributes($attributes);
}
示例4: setAxis
/**
* @param GroupInterface $group
* @param array $data
*/
protected function setAxis(GroupInterface $group, $data)
{
if (isset($data['axis']) && !empty($data['axis'])) {
$axisCodes = explode(',', $data['axis']);
$attributes = [];
foreach ($axisCodes as $code) {
$attribute = $this->attributeRepository->findOneByIdentifier($code);
if (!$attribute) {
throw new \LogicException(sprintf('Attribute with identifier "%s" not found', $code));
}
$attributes[] = $attribute;
}
$group->setAxisAttributes($attributes);
}
}