首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Magento导出类别并导入到Neto

从Magento导出类别并导入到Neto
EN

Stack Overflow用户
提问于 2019-01-08 21:20:22
回答 1查看 285关注 0票数 0

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

EN

回答 1

Stack Overflow用户

发布于 2019-01-08 21:20:22

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

代码语言:javascript
复制
        <?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,你将得到一个csv,可以直接导入到Neto商店。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54092724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档