/** * @param Goodahead_Etm_Model_Attribute|Mage_Core_Model_Abstract $object * @return Mage_Eav_Model_Resource_Entity_Attribute|void */ protected function _afterSave(Mage_Core_Model_Abstract $object) { parent::_afterSave($object); $tableName = $this->getTable('goodahead_etm/eav_attribute'); $this->_getWriteAdapter()->insertOnDuplicate($tableName, $this->_prepareDataForTable($object, $tableName)); }
/** * Save attribute/form relations after attribute save * * @param Mage_Core_Model_Abstract $object * @return Mage_Customer_Model_Entity_Attribute */ protected function _afterSave(Mage_Core_Model_Abstract $object) { $forms = $object->getData('used_in_forms'); if (is_array($forms)) { $where = array('attribute_id=?' => $object->getId()); $this->_getWriteAdapter()->delete($this->getTable('customer/form_attribute'), $where); $data = array(); foreach ($forms as $formCode) { $data[] = array('form_code' => $formCode, 'attribute_id' => intval($object->getId())); } if ($data) { $this->_getWriteAdapter()->insertMultiple($this->getTable('customer/form_attribute'), $data); } } // update sort order if (!$object->isObjectNew() && $object->dataHasChangedFor('sort_order')) { $bind = array('sort_order' => $object->getSortOrder()); $where = $this->_getWriteAdapter()->quoteInto('attribute_id=?', $object->getId()); $this->_getWriteAdapter()->update($this->getTable('eav/entity_attribute'), $bind, $where); } // save scope attributes $websiteId = $object->getWebsite()->getId(); if ($websiteId) { $table = $this->getTable('customer/eav_attribute_website'); $describe = $this->_getReadAdapter()->describeTable($table); $data = array(); if (!$object->getScopeWebsiteId() || $object->getScopeWebsiteId() != $websiteId) { $data = $this->getScopeValues($object); } $data['attribute_id'] = $object->getId(); $data['website_id'] = $websiteId; $updateColumns = array(); foreach (array_keys($describe) as $columnName) { if ($columnName != 'attribute_id' && $columnName != 'website_id') { $data[$columnName] = $object->getData('scope_' . $columnName); $updateColumns[] = $columnName; } } $this->_getWriteAdapter()->insertOnDuplicate($table, $data, $updateColumns); } return parent::_afterSave($object); }