【问题标题】:Magento: Setting products to be active in all my frontendsMagento:将产品设置为在我的所有前端都处于活动状态
【发布时间】:2011-07-19 12:11:03
【问题描述】:

当前配置:(Magento 版本 1.4.0.1)

  • 3 个前端(网站)
  • 1个后端
  • 3 个不同的 url(每个前端一个)
  • 3 个独立的主题包。

设置完成后,我发现我必须手动编辑每个产品才能将每个 storeview 设置为活动状态。

如何将我的所有产品设置为在所有 3 个前端都处于活动状态?
(我研究了一下 Magento API,但找不到方法。)

【问题讨论】:

    标签: php zend-framework magento e-commerce


    【解决方案1】:

    当您在管理目录产品时,在您的后端,左侧有您的网站(“选择商店视图:”),如果您创建默认商店(“默认值”),您应该在所有商店。

    【讨论】:

    • 我想在所有前端自动(而不是手动)启用我的产品,谢谢。
    • 您可以从系统导入产品> import /export 并选择导入所有产品。如果您只是想激活您已经拥有的所有产品,那么您可以在 catalog_product_entity_int 表上使用简单的 mysql 脚本来完成...将 attribute_id 设置为 80(您可以在 eav_attributes 表中检查),并将所有值设置为“1” ...“1”已启用,“2”已禁用。
    【解决方案2】:

    在 Nasaralla 的 cmets 之后,我在 Magento api 中找到了正确的调用。

    <?php
    set_time_limit(0);
    ini_set("max_execution_time", 0);
    $proxy = new SoapClient('https://website.com/api/soap/?wsdl');
    $sessionId = $proxy->login('user', 'password');
    $filters = array();
    
    $products = $proxy->call($sessionId, 'product.list', array($filters));
    $i = 0;
    foreach($products as $product){
            $sku = $product["sku"];
            if($i>365 and !empty($sku)){
                    $proxy->call($sessionId, 'product.update', array($sku, array('websites'=> array('1','2','3'))));
                    print $sku. "\n";
            }
            $i++;
    }
    print "done";
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-09
      • 2021-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-19
      • 1970-01-01
      相关资源
      最近更新 更多