0

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

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

任何人都可以帮助我,请,任何帮助将不胜感激,在此先感谢您。

4

1 回答 1

1

Magento 只允许您从“管理员”后端修改某些数据。

在尝试使用 Magento 对象模型保存到数据库之前,您需要通过添加它来模拟这一点:

Mage::app('default');
// Add just below this should be fine.
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);

在你的保存周围添加一个 try / catch 块也是一个好习惯,然后对错误做一些事情,记录它们等。

于 2013-02-18T08:43:08.360 回答