将数据导入到magento中的cms/page中


importing data into cms/page in magento

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

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

有人能帮我吗,请,任何帮助都将不胜感激,提前感谢。

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块也是一个很好的做法,然后对错误进行处理,记录它们等。