save-------magento --后台保存信息!!
2011-01-28 21:25
288 查看
public function saveAction() {
if ($data = $this->getRequest()->getPost()) {
//var_dump($data);exit;
$model = Mage::getModel('blog/post');
if(isset($data['tags'])){
if($this->getRequest()->getParam('id')){
$model->load($this->getRequest()->getParam('id'));
$originalTags = explode(",", $model->getTags());
}else{
$originalTags = array();
}
$tags = preg_split("/[, ]+/s*/i", $data['tags'], -1, PREG_SPLIT_NO_EMPTY);
$commonTags = array_intersect($tags,$originalTags);
$removedTags = array_diff($originalTags, $commonTags);
$addedTags = array_diff($tags, $commonTags);
if(count($tags)){
$data['tags'] = trim(implode(',', $tags));
}else{
$data['tags'] = '';
}
//var_dump($tags);die();
}
$model->setData($data)
->setId($this->getRequest()->getParam('id'));
try {
if ($this->getRequest()->getParam('created_time') == NULL) {
$model->setCreatedTime(now())
->setUpdateTime(now());
} else {
$model->setUpdateTime(now());
}
if ($this->getRequest()->getParam('user') == NULL) {
$model->setUser(Mage::getSingleton('admin/session')->getUser()->getFirstname() . " " . Mage::getSingleton('admin/session')->getUser()->getLastname())
->setUpdateUser(Mage::getSingleton('admin/session')->getUser()->getFirstname() . " " . Mage::getSingleton('admin/session')->getUser()->getLastname());
} else {
$model->setUpdateUser(Mage::getSingleton('admin/session')->getUser()->getFirstname() . " " . Mage::getSingleton('admin/session')->getUser()->getLastname());
}
//var_dump($model->getData());exit;
$model->save();
/* recount affected tags */
if(isset($data['stores'])){
$stores = $data['stores'];
}else{
$stores = array(null);
}
$affectedTags = array_merge($addedTags, $removedTags);
foreach($affectedTags as $tag){
foreach($stores as $store){
if(trim($tag)){
Mage::getModel('blog/tag')->loadByName($tag, $store)->refreshCount();
}
}
}
Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('blog')->__('Post was successfully saved'));
Mage::getSingleton('adminhtml/session')->setFormData(false);
if ($this->getRequest()->getParam('back')) {
$this->_redirect('*/*/edit', array('id' => $model->getId()));
return;
}
$this->_redirect('*/*/');
return;
} catch (Exception $e) {
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
Mage::getSingleton('adminhtml/session')->setFormData($data);
$this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
return;
}
}
Mage::getSingleton('adminhtml/session')->addError('Unable to find post to save');
$this->_redirect('*/*/');
}
if ($data = $this->getRequest()->getPost()) {
//var_dump($data);exit;
$model = Mage::getModel('blog/post');
if(isset($data['tags'])){
if($this->getRequest()->getParam('id')){
$model->load($this->getRequest()->getParam('id'));
$originalTags = explode(",", $model->getTags());
}else{
$originalTags = array();
}
$tags = preg_split("/[, ]+/s*/i", $data['tags'], -1, PREG_SPLIT_NO_EMPTY);
$commonTags = array_intersect($tags,$originalTags);
$removedTags = array_diff($originalTags, $commonTags);
$addedTags = array_diff($tags, $commonTags);
if(count($tags)){
$data['tags'] = trim(implode(',', $tags));
}else{
$data['tags'] = '';
}
//var_dump($tags);die();
}
$model->setData($data)
->setId($this->getRequest()->getParam('id'));
try {
if ($this->getRequest()->getParam('created_time') == NULL) {
$model->setCreatedTime(now())
->setUpdateTime(now());
} else {
$model->setUpdateTime(now());
}
if ($this->getRequest()->getParam('user') == NULL) {
$model->setUser(Mage::getSingleton('admin/session')->getUser()->getFirstname() . " " . Mage::getSingleton('admin/session')->getUser()->getLastname())
->setUpdateUser(Mage::getSingleton('admin/session')->getUser()->getFirstname() . " " . Mage::getSingleton('admin/session')->getUser()->getLastname());
} else {
$model->setUpdateUser(Mage::getSingleton('admin/session')->getUser()->getFirstname() . " " . Mage::getSingleton('admin/session')->getUser()->getLastname());
}
//var_dump($model->getData());exit;
$model->save();
/* recount affected tags */
if(isset($data['stores'])){
$stores = $data['stores'];
}else{
$stores = array(null);
}
$affectedTags = array_merge($addedTags, $removedTags);
foreach($affectedTags as $tag){
foreach($stores as $store){
if(trim($tag)){
Mage::getModel('blog/tag')->loadByName($tag, $store)->refreshCount();
}
}
}
Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('blog')->__('Post was successfully saved'));
Mage::getSingleton('adminhtml/session')->setFormData(false);
if ($this->getRequest()->getParam('back')) {
$this->_redirect('*/*/edit', array('id' => $model->getId()));
return;
}
$this->_redirect('*/*/');
return;
} catch (Exception $e) {
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
Mage::getSingleton('adminhtml/session')->setFormData($data);
$this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
return;
}
}
Mage::getSingleton('adminhtml/session')->addError('Unable to find post to save');
$this->_redirect('*/*/');
}
相关文章推荐
- save-------magento --后台保存信息!!
- magento后台产品超过1000个,修改分类信息无法保存
- dmesg打印信息如何后台保存到文件中
- 谈谈UG二次开发信息保存的问题/ How to Save Information in NX Development
- mfc:在Edit控件上显示信息,同时保存到后台日志,可作为接口函数调用
- django中的需要的地方: form.save(commit=False)之后需要form.save_m2m() 来保存关联信息
- 如何知道所有在线的用户 (保存所有在线登录人信息,此处为后台人员)
- magento - 后台提示服务器配置错误导致包含敏感信息的配置文件可浏览
- 财富信息不需要传userID后台会根据保存的session提供数据
- 后台写js,弹出窗口,字体变大,以及保存文本框信息
- dmesg打印信息如何后台保存到文件中
- select All ------grid控件----magento后台查询所有信息
- logsave命令_Linux logsave 命令用法详解:将命令的输出信息保存到指定的日志文件
- django中的需要的地方: form.save(commit=False)之后需要form.save_m2m() 来保存关联信息
- select All ------grid控件----magento后台查询所有信息
- magento -- magento网站后台突然间无法保存任何配置
- delete-----magento后台数据信息删除----------
- JBuilderX不能打开工程,新建/保存工程提示“unable to save project”信息
- 谈谈UG二次开发信息保存的问题/ How to Save Information in NX Development
- delete-----magento后台数据信息删除----------