/** * @param Zend_Db_Table_Rowset $row * @param Catalog_Model_ProductParams $entry * @return Catalog_Model_ProductParams */ public function _setDbData($row, Catalog_Model_ProductParams $entry) { $info = $this->getDbTable()->info(); $properties = $info['cols']; foreach ($properties as $property) { $entry->__set($this->_normaliseName($property), $row->{$property}); } return $entry; }
public function propertyEditAction() { //Zend_Debug::dump($this->_request->getParams()); $properties = $this->_request->getParam('properties'); if ($properties && !empty($properties)) { foreach ($properties as $property) { if ($property['id'] != 'new') { $productParams = $this->_paramsMapper->find($property['id'], new Catalog_Model_ProductParams()); if ($productParams) { $productParams->setOptions($property); $this->_paramsMapper->save($productParams); } } else { $productParams = new Catalog_Model_ProductParams(); $productParamsOrder = $property['order'] && $property['order'] != '' ? $property['order'] : 0; $productParams->setName($property['name'])->setOrder($productParamsOrder)->setProductId($property['productId'])->setValue($property['value']); $this->_paramsMapper->save($productParams); $id = $this->_paramsMapper->getDbTable()->getAdapter()->lastInsertId(); $productParams->setId($id); } } } $deletedProperies = $this->_request->getParam('deleted'); if ($deletedProperies && !empty($deletedProperies)) { foreach ($deletedProperies as $deletedPropery) { $id = $deletedPropery['id']; $this->_paramsMapper->delete($id); } } $this->_helper->json->sendJson($properties); }