Exemple #1
0
 /**
  * Adds all texts belonging to an catalog item.
  *
  * @param \Aimeos\MW\Container\Content\Iface $contentItem Content item
  * @param \Aimeos\MShop\Catalog\Item\Iface $item product item object
  * @param string $langid Language id
  */
 protected function addItem(\Aimeos\MW\Container\Content\Iface $contentItem, \Aimeos\MShop\Catalog\Item\Iface $item, $langid)
 {
     $listTypes = array();
     foreach ($item->getListItems('text') as $listItem) {
         $listTypes[$listItem->getRefId()] = $listItem->getType();
     }
     foreach ($this->getTextTypes('catalog') 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->getLabel(), $item->getId(), $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->getLabel(), $item->getId(), 'default', $textTypeItem->getCode(), '', '');
             $contentItem->add($items);
         }
     }
 }
Exemple #2
0
 protected function delete(\Aimeos\MShop\Catalog\Item\Iface $catItem)
 {
     $manager = \Aimeos\MShop\Catalog\Manager\Factory::createManager($this->context);
     $listManager = $manager->getSubManager('lists');
     foreach ($catItem->getListItems('product') as $listItem) {
         $listManager->deleteItem($listItem->getId());
     }
     $manager->deleteItem($catItem->getId());
 }