我正在尝试使用我自己的自定义php代码将数据导入到cms / page中,当我尝试导入单个静态数据时,代码可以工作,但是当我尝试通过查询数据库导入数据时代码不起作用。 代码:
require_once 'app/Mage.php';
umask(0);
Mage::app('default');
$coreResource = Mage::getSingleton('core/resource') ;
$read = $coreResource->getConnection('core_read');
$query = "select * from `".$coreResource->getTableName('sur_arts')."`,`".$coreResource->getTableName('sur_arts_store')."` where sur_arts.post_id=sur_arts_store.post_id ";
$result=$read->query($query);
foreach($result as $res)
{
$cmsPageData1 = array(
'title' => $res['title'],
'root_template' => 'three_columns',
'meta_keywords' => $res['meta_keywords'],
'meta_description' => $res['meta_description'],
'identifier' => $identifier,
'content_heading' => $res['title'],
'stores' => array(21),
'is_active'=>$res['status'],
'content' => $res['post_content']
);
Mage::getModel('cms/page')->setData($cmsPageData1)->save();
}
这不起作用,但如果我尝试使用相同的代码导入单个数据,那么
任何人都可以帮助我,拜托,非常感谢任何帮助,请提前感谢你。
答案 0 :(得分:1)
Magento只允许您修改“admin”后端的某些数据。
在尝试使用Magento对象模型保存到数据库之前,需要通过添加它来模仿这个:
Mage::app('default');
// Add just below this should be fine.
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
最好在保存周围添加一个try / catch块,然后对错误做一些事情,记录它们等。