Exemplo n.º 1
0
 /**
  * Saves and returns the new or updated item
  *
  * @param \Aimeos\MShop\Common\Manager\Iface $manager Manager responsible for the items
  * @param \stdClass $entry Object including "id" and "attributes" elements
  * @return \Aimeos\MShop\Common\Item\Iface New or updated item
  */
 protected function saveEntry(\Aimeos\MShop\Common\Manager\Iface $manager, \stdClass $entry)
 {
     $targetId = isset($entry->targetid) ? $entry->targetid : null;
     $refId = isset($entry->refid) ? $entry->refid : null;
     if (isset($entry->id)) {
         $item = $manager->getItem($entry->id);
         $item = $this->addItemData($manager, $item, $entry, $item->getResourceType());
         $manager->saveItem($item);
         if (isset($entry->parentid) && $targetId !== null) {
             $manager->moveItem($item->getId(), $entry->parentid, $targetId, $refId);
         }
     } else {
         $item = $manager->createItem();
         $item = $this->addItemData($manager, $item, $entry, $item->getResourceType());
         $manager->insertItem($item, $targetId, $refId);
     }
     if (isset($entry->relationships)) {
         $this->saveRelationships($manager, $item, $entry->relationships);
     }
     return $manager->getItem($item->getId());
 }
Exemplo n.º 2
0
 /**
  * Saves and returns the new or updated item
  *
  * @param \Aimeos\MShop\Common\Manager\Iface $manager Manager responsible for the items
  * @param \stdClass $entry Object including "id" and "attributes" elements
  * @return \Aimeos\MShop\Common\Item\Iface New or updated item
  */
 protected function saveEntry(\Aimeos\MShop\Common\Manager\Iface $manager, \stdClass $entry)
 {
     if (isset($entry->id)) {
         $item = $manager->getItem($entry->id);
     } else {
         $item = $manager->createItem();
     }
     $item = $this->addItemData($manager, $item, $entry, $item->getResourceType());
     $manager->saveItem($item);
     if (isset($entry->relationships)) {
         $this->saveRelationships($manager, $item, $entry->relationships);
     }
     return $manager->getItem($item->getId());
 }