我正在使用 Magento (1.7),并且我刚刚通过多商店扩展了我的旧商店 (store1) 和 store2。我有很多产品(大约 1500 种),它们都在 Store1 中可见,但在新商店 (store2) 中不可见。有没有一种简单的方法可以为所有商店启用所有产品?
问问题
6093 次
2 回答
9
在管理员的产品网格中,使用“全选”按钮选择所有产品。从“操作”下拉菜单中;选择“更新属性”。在“网站”标签中;选择所需的网站,然后单击“保存”。接下来,重新索引所有数据:
转至:系统 > 索引管理。
选择所有项目并通过提交表单开始重新索引。
于 2013-04-29T02:10:48.823 回答
2
有几种方法可以做到这一点。首先,也是最简单的,是在管理员中使用批量编辑功能。转到您的管理产品页面,单击全选,将操作下拉列表更改为“更改属性”,然后单击提交。然后,在网站选项卡上,确保在“将产品添加到网站”区域中选中了您的新网站,然后单击保存。
如果您需要以编程方式执行此操作并且您有网站 ID,则可以在 Magento 根目录中的 PHP 脚本中放置类似的内容:
<?php
require_once('app/Mage.php');
umask(0);
Mage::app('admin');
$website_ids = array(1, 2); // I'm assuming your website IDs are 1 and 2.
// $website_ids = getWebsitesArray();
$product_collection = Mage::getModel('catalog/product')->getCollection();
foreach($product_collection as $product) {
$product->setWebsiteIds($website_ids);
$product->save();
}
为了更好地衡量,以下是如何以编程方式获取该 website_ids 数组:
/* @return array */
function getWebsitesArray() {
$ret = array();
$website_collection = Mage::app()->getWebsites(true);
foreach($website_collection as $website) {
$ret = array_push($website->getId());
}
return $ret;
}
于 2013-04-28T20:03:21.663 回答