如何在magento中导入新闻稿订阅用户csv

如何在magento中导入新闻稿订阅用户csv,magento,csv,import,newsletter,Magento,Csv,Import,Newsletter,我有csv,其中有很多电子邮件是退出的,它想将这些电子邮件分配到Newsletter订阅列表。我将为谁做 和检查如何跳过退出客户,因为Newsletter中已经有列表,因为krupal patel没有足够的声誉来发布答案,所以我将答案放在了他身上。 按此步骤操作 步骤1在Magento根目录中添加import.php文件此代码应为 <?php $store_id = 1; $csv_filepath = "subscribers.csv"; $csv_de

我有
csv,其中有很多电子邮件是退出的
,它想
将这些电子邮件分配到Newsletter订阅列表
。我将为谁做


检查如何跳过退出客户,因为Newsletter中已经有列表

,因为krupal patel没有足够的声誉来发布答案,所以我将答案放在了他身上。

按此步骤操作

步骤1在Magento根目录中添加
import.php文件
此代码应为

     <?php
    $store_id = 1;
    $csv_filepath = "subscribers.csv";
    $csv_delimiter = ',';
    $csv_enclosure = '"';
    $magento_path = __DIR__;
    require "{$magento_path}/app/Mage.php";

    Mage::app()->setCurrentStore($store_id);
    echo "<pre>";
    $fp = fopen($csv_filepath, "r");

    if (!$fp) die("{$csv_filepath} not found\n");
    $count = 0;

    while (($row = fgetcsv($fp, 0, $csv_delimiter, $csv_enclosure)) !== false){
        if ($count != 0){

            $email = trim($row[1]);
            $type = trim($row[2]);
            $fname = trim($row[3]);
            $lname = trim($row[4]);
            $status = trim($row[5]);
            $website = trim($row[6]);
            $store = trim($row[7]);
            $store_view = trim($row[8]);

            if (strlen($email) == 0) continue;
            echo "$email";
            $subscriber = Mage::getModel('newsletter/subscriber')->loadByEmail($email);
            if ($subscriber->getId()){
                echo $email . " <b>already subscribed</b>\n";
                continue;
                }

            Mage::getModel('newsletter/subscriber')->setImportMode(true)->subscribe($email);
            $subscriber_status = Mage::getModel('newsletter/subscriber')->loadByEmail($email);

            if ($status == 1){
                  $subscriber_status->setStatus(Mage_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED);
                  $subscriber_status->save();
                }else if($status == 2){
                  $subscriber_status->setStatus(Mage_Newsletter_Model_Subscriber::STATUS_NOT_ACTIVE);
                  $subscriber_status->save();
                }else if($status == 3){
                  $subscriber_status->setStatus(Mage_Newsletter_Model_Subscriber::STATUS_UNSUBSCRIBED);
                  $subscriber_status->save();
                }else if($status == 4){
                  $subscriber_status->setStatus(Mage_Newsletter_Model_Subscriber::STATUS_UNCONFIRMED);
                  $subscriber_status->save();
                }
                echo $email . " <b>ok</b>\n";
            }

        $count++;

        }

echo "Import finished\n";

将import.php文件添加到根目录中,也添加csv文件,csv文件名为subscribers.csv,内部代码相同检查您是否有单存储区或多存储区此代码仅导入电子邮件和状态您可以从csv文件和import.php文件代码管理存储您不能将答案放在问题部分。请将其放在答案部分。我有更新此代码以导入状态为的用户电子邮件。同时更新CSV文件格式Thaks Amit bera您可以在此处访问更新的代码