Magento中电影产品的自动填充信息
我正在与Magento CE 1.6合作的一个项目中,我们需要一种简单的方法来将电影信息填入DVD和蓝光产品中,以供转售商电子商务使用。我准备使用Rotter Tomatos API wich,它似乎非常适合我们的目的,但问题是:我们不想在新产品对话框中输入电影的每一个细节,相反,我们希望使用电影名称作为提示自动获取信息(API完全支持这一点)。我认为我们可以通过两种方式实现这一目标:Magento中电影产品的自动填充信息,magento,rotten-tomatoes,Magento,Rotten Tomatoes,我正在与Magento CE 1.6合作的一个项目中,我们需要一种简单的方法来将电影信息填入DVD和蓝光产品中,以供转售商电子商务使用。我准备使用Rotter Tomatos API wich,它似乎非常适合我们的目的,但问题是:我们不想在新产品对话框中输入电影的每一个细节,相反,我们希望使用电影名称作为提示自动获取信息(API完全支持这一点)。我认为我们可以通过两种方式实现这一目标: 让管理员只输入电影和视频的名称 创建并定期运行一个脚本,该脚本将获取 使用API获取信息,并直接在数据库中更新
我是否从正确的角度看待这个问题?可能还有其他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();
}
?>
您好,非常感谢!我将检查该扩展,似乎是最好的解决方案。我将发布一个跟踪。您的脚本还为我提供了一个起点,以防我决定这样做。扩展还不存在。我只提到构建一个,因为在自定义扩展中,您尝试做的事情将是最好的。