首页 文章

Prestashop importerosc模块显示错误

提问于
浏览
0

我正在将我的站点从osc迁移到prestashop,但模块importerosc显示错误 .

除了类别,其他一切都成功导入 . 但是当我选择显示技术错误的类别模块时 .

Category类是扩展objectmodel和对象模型,显示date_add字段的unsignedint . 但是ImportererOSC模块没有从oscommerce数据库中获取date_add值,如果我更改查询则没有任何变化 .

技术错误

详细信息:致命错误:/home/xxxxxx/public_html/shop/classes/ObjectModel.php:790消息'属性类别 - > date_add无效'未捕获异常'PrestaShopException'无效'堆栈跟踪:#0 / home / xxxxx / public_html /shop/classes/ObjectModel.php(265):ObjectModelCore-> validateFields()#1 /home/xxxxxx/public_html/shop/classes/ObjectModel.php(551):ObjectModelCore-> getFields()#2 / home / xxxxxx /public_html/shop/classes/Category.php(210):ObjectModelCore-> update(false)#3 /home/xxxxxx/public_html/shop/modules/shopimporter/shopimporter.php(971):CategageCore-> update()# 4 /home/xxxxxx/public_html/shop/modules/shopimporter/shopimporter.php(533):shopimporter-> updateCat()#5 /home/xxxxxx/public_html/shop/modules/shopimporter/ajax.php(148):shopimporter - > genericImport('Category',Array,true)#7 在790行的/home/xxxxxx/public_html/shop/classes/ObjectModel.php中引发

1 回答

  • 1

    这个问题可能是因为数据库oscommerce中的iso代码不正确 . 你也可以尝试这种方式

    Regards
    $server = 'localhost'; // DATABASE SERVER
    $db_user = ''; // DATABASE SERVER USER NAME
    $db_password = ''; // DATABASE SERVER USER PASSWORD
    $database = ''; // OLD OSCOMMERCE DATABASE
    $databasenew = ''; // NEW PRESTASHOP DATABASE
    
    
    // CONNECT TO DATABASE SERVER
    
    $con = mysql_connect($server,$db_user,$db_password);
    if (!$con)
    {
      die('COULD NOT CONNECT TO DATABASE SERVER: ' . mysql_error());
    }
    
    
    
    $db1 = mysql_select_db($database, $con);
    if (!$db1) {
        die ('COULD NOT SELECT OSCOMMERCE DATABASE: ' . mysql_error());
    }
    
    $result = mysql_query("SELECT * FROM customers");
    echo '<h4>OSCOMMERCE > PRESTASHOP CUSTOMER IMPORT</h4>';
    
    while($row = mysql_fetch_array($result)){
    
      // PREPARE ADDITIONAL FIELDS
      $date = date("Y-m-d H:m:s)");
    
      // random key for user
      $key = md5(uniqid(rand(), true));
    
      // customer newsletter y/n
      if($row['customers_newsletter'] == "1"){
         $newsletter = "1";
      } else {
         $newsletter = "0";
      }
    
    
    
      // SELECT NEW DATABASE
    
      $db2 = mysql_select_db($databasenew, $con);
      if (!$db1) {
        die ('COULD NOT SELECT PRESTASHOP DATABASE: ' . mysql_error());
      }
    
      $result1 = mysql_query("INSERT INTO `ps_customer` (
    `id_customer` ,
    `id_gender` ,
    `id_default_group` ,
    `firstname` ,
    `lastname` ,
    `email` ,
    `passwd` ,
    `last_passwd_gen` ,
    `birthday` ,
    `newsletter` ,
    `ip_registration_newsletter` ,
    `newsletter_date_add` ,
    `optin` ,
    `secure_key` ,
    `note` ,
    `active` ,
    `is_guest` ,
    `deleted` ,
    `date_add` ,
    `date_upd`
    )
    
    VALUES (
    
    NULL , '1', '1', '".$row['customers_firstname']."', '".$row['customers_lastname']."', '".$row['customers_email_address']."', '1', '2000-05-27 15:53:08', NULL , '".$newsletter."', NULL , '".$date."' , '0', '".$key."', NULL , '1', '0', '0', '".$date."', '".$date."'
    
    )");
    
    
    
    // ADD USER TO GROUP - ( Default 1 )
    
    $userid = mysql_insert_id();   
    $result2 = mysql_query("INSERT INTO `ps_customer_group` (`id_customer` ,`id_group`)
    VALUES ('".$userid."', '1')");
    echo "SUCCESS!: " . $row['customers_firstname'] . " " . $row['customers_lastname'].'
    '; } ?>

相关问题