【问题标题】:Export Categories from Magento and Import to Neto从 Magento 导出类别并导入到 Neto
【发布时间】:2019-01-08 13:20:21
【问题描述】:

如何从 magento 导出 csv 文件中的类别,以便直接导入 Neto?

【问题讨论】:

    标签: magento-1.9 neto


    【解决方案1】:

    创建一个 php 文件示例 categories.php 并将其放在 magento 根目录中,然后将以下代码放入该文件中:

            <?php
    
        error_reporting(E_ALL);
        ini_set("memory_limit", "100000M");
        include("app/Mage.php");
        umask(0);
        Mage::app();
    
        $data=array();
        // Neto like Csv header, modify it according to you
         $csv_header=Array
                (
                    0 => "Content Type",
                    1 => "Content Path",
                    2 => "Name",
                    3 => "Description 1",
                    4 => "Description 2",
                    5 => "SEO Meta Description",
                    6 => "Sort Order",
                    7 => "SEO Page Title",
                    8 => "SEO Meta Keywords",                   
                );
        $data[0]=   $csv_header;    
    
         /* magento category fetching start */
        function getChildCategories($category, $isFirst = false) {       
                $children = $isFirst ? $category : $category->getChildren();        
                foreach ($children as $child) {         
                        $_categories[] = [ "name" => $child->getName(), "id" => $child->getId(), "children" => getChildCategories($child) ];
                }
                return $_categories;
        };
    
        $_categories = Mage::helper('catalog/category')->getStoreCategories();
        $categories = getChildCategories($_categories, true);
    
        // put desired field in below array
        $csvData=array();
        foreach($categories as $key=>$val){
                $csvData[0]="Product Category";
                $csvData[1]="";
                $csvData[2]=$val['name'];
                $csvData[3]="";
                $csvData[4]="";
                $csvData[5]="";
                $csvData[6]=0;
                $csvData[7]="";
                $csvData[8]="";
                $data[]=$csvData;
        }
        $csvData=array();
        foreach($categories as $key=>$val){
                $csvData[0]="Product Category";
                $csvData[1]=$val['name'];       
                if(isset($val["children"])){
                    $childs=$val["children"];
                    foreach($childs as $child){
                        $csvData[2]=$child['name']; 
                        $csvData[3]="";
                        $csvData[4]="";
                        $csvData[5]="";
                        $csvData[6]=0;
                        $csvData[7]="";
                        $csvData[8]="";
                        $data[]=$csvData;
                    }
                }
        }
    
        // generate csv
        header('Content-Type: text/csv');
        header('Content-Disposition: attachment; filename="productCategories.csv"');
    
        $fp = fopen('php://output', 'wb');
        foreach ($data as $line) {
            fputcsv($fp, $line, ',');
        }
        fclose($fp);
    

    然后在yourDomain/categories.php这样的浏览器中调用这个文件,你会得到一个可以直接导入到Neto存储的csv。

    【讨论】:

      猜你喜欢
      • 2015-11-27
      • 2013-10-16
      • 2015-12-29
      • 2011-01-20
      • 1970-01-01
      • 2011-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多