Magento中电影产品的自动填充信息

Magento中电影产品的自动填充信息,magento,rotten-tomatoes,Magento,Rotten Tomatoes,我正在与Magento CE 1.6合作的一个项目中,我们需要一种简单的方法来将电影信息填入DVD和蓝光产品中,以供转售商电子商务使用。我准备使用Rotter Tomatos API wich,它似乎非常适合我们的目的,但问题是:我们不想在新产品对话框中输入电影的每一个细节,相反,我们希望使用电影名称作为提示自动获取信息(API完全支持这一点)。我认为我们可以通过两种方式实现这一目标: 让管理员只输入电影和视频的名称 创建并定期运行一个脚本,该脚本将获取 使用API获取信息,并直接在数据库中更新

我正在与Magento CE 1.6合作的一个项目中,我们需要一种简单的方法来将电影信息填入DVD和蓝光产品中,以供转售商电子商务使用。我准备使用Rotter Tomatos API wich,它似乎非常适合我们的目的,但问题是:我们不想在新产品对话框中输入电影的每一个细节,相反,我们希望使用电影名称作为提示自动获取信息(API完全支持这一点)。我认为我们可以通过两种方式实现这一目标:

  • 让管理员只输入电影和视频的名称 创建并定期运行一个脚本,该脚本将获取 使用API获取信息,并直接在数据库中更新数据。我一直在 当产品被保存并且不想更改时,观察数据库的变化 那样做

  • 编辑Magento代码以使新产品表单自动填充, 也许使用ajax,一旦输入了电影名称。Zend框架并非如此 我的身体很强壮,看起来也有点硬


  • 我是否从正确的角度看待这个问题?可能还有其他API吗?还是Magento分机?还是另一个电子商务

    我会建议一个稍微不同的方法。增强管理界面是困难的,但也是可能的。这里有一个更简单的方法

    方法#1-快速简便

    为自己创建一个脚本,该脚本将遍历产品列表。您可以按属性类型、类别来选择它们,甚至可以全部选择!然后,循环遍历该集合,对于每个产品,获取标题,查询电影API,并设置产品属性。然后,保存产品,并移动到下一个产品。大概是这样的:

    注意:确保在管理中创建自定义属性,并将它们分配给属性集

    <?php
    require_once 'app/Mage.php';
    umask(0);
    Mage::app('default');
    
    function getVideoDataFromAPI($title)
    {
      // get your data from the API here...
      return $data;
    }
    
    $collection = Mage::getResourceModel('catalog/product_collection')
      ->addAttributeToFilter('attribute_set_id', $yourAttributeSetId)
      ->addAttributeToFilter('year', ''); // <-- Set a field here that will be empty by default, and filled by the API. This is '' because it won't be null.
    
    foreach ( $collection->getAllIds() as $id ) {
      $product = Mage::getModel('catalog/product')->load($id);
      $videoData = getVideoDataFromAPI($product->getName());
      if ( empty($videoData) ) { continue; }
      $product->setYear($videoData['year'])
        ->setRating($videoData['rating'])
        ->save();
    }
    ?>
    

    您好,非常感谢!我将检查该扩展,似乎是最好的解决方案。我将发布一个跟踪。您的脚本还为我提供了一个起点,以防我决定这样做。扩展还不存在。我只提到构建一个,因为在自定义扩展中,您尝试做的事情将是最好的。