本文整理匯總了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);
}
}