/** * Adds all texts belonging to an attribute item. * * @param \Aimeos\MW\Container\Content\Iface $contentItem Content item * @param \Aimeos\MShop\Attribute\Item\Iface $item product item object * @param string $langid Language id */ protected function addItem(\Aimeos\MW\Container\Content\Iface $contentItem, \Aimeos\MShop\Attribute\Item\Iface $item, $langid) { $listTypes = array(); foreach ($item->getListItems('text') as $listItem) { $listTypes[$listItem->getRefId()] = $listItem->getType(); } foreach ($this->getTextTypes('attribute') as $textTypeItem) { $textItems = $item->getRefItems('text', $textTypeItem->getCode()); if (!empty($textItems)) { foreach ($textItems as $textItem) { $listType = isset($listTypes[$textItem->getId()]) ? $listTypes[$textItem->getId()] : ''; $items = array($langid, $item->getType(), $item->getCode(), $listType, $textTypeItem->getCode(), '', ''); // use language of the text item because it may be null if (($textItem->getLanguageId() == $langid || is_null($textItem->getLanguageId())) && $textItem->getTypeId() == $textTypeItem->getId()) { $items[0] = $textItem->getLanguageId(); $items[5] = $textItem->getId(); $items[6] = $textItem->getContent(); } $contentItem->add($items); } } else { $items = array($langid, $item->getType(), $item->getCode(), 'default', $textTypeItem->getCode(), '', ''); $contentItem->add($items); } } }
/** * Copys all data from a given attribute item. * * @param \Aimeos\MShop\Attribute\Item\Iface $item Attribute item to copy from */ public function copyFrom(\Aimeos\MShop\Attribute\Item\Iface $item) { $this->setAttributeId($item->getId()); $this->setName($item->getName()); $this->setCode($item->getType()); $this->setValue($item->getCode()); $this->setModified(); }