将数据导入magento中的cms / page

时间:2013-02-17 22:57:13

标签: php magento magento-1.7

我正在尝试使用我自己的自定义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();
} 

这不起作用,但如果我尝试使用相同的代码导入单个数据,那么

任何人都可以帮助我,拜托,非常感谢任何帮助,请提前感谢你。

1 个答案:

答案 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块,然后对错误做一些事情,记录它们等。