这是我的疑问。我必须在magento托管上为每个storeview导出一个XML文件。此目录必须包含storeview提供的所有产品。我需要导出的信息至少是:SKU,名称,描述,图片网址,每个产品所属的类别以及产品网址。 我已经完成了逻辑,但我在过滤产品方面遇到了问题,我现在正在做的是:
public function getXmlForAllStores()
{
foreach ($this->_storeManagerInterface->getWebsites() as $site):{
foreach ($site->getGroups() as $store): {
$rootCategoryId = $store->getRootCategoryId();
$rootCategory = $this->_rootCategory->load($rootCategoryId);
$catIdArray = $this->toIntArray($rootCategory->getAllChildren(true));
foreach ($store->getStores() as $storeview):{$collection = $this->_categoryLayer
->setCurrentCategory($rootCategory)
->getProductCollection()
->addWebsiteFilter($site);
//get xml string
$xmlData= $this->toXml($collection, $store, $storeview);
$fileName = $storeview->getCode()."feed.xml";
echo "filename: ". $fileName. "<br>";
//make file
$this->makeFile($xmlData,$fileName);
}endforeach;
}endforeach;
}endforeach;
return "ok";
}
正如您所看到的,我正在迭代最低范围,以获取每个网站上包含的所有商店组的所有商店视图的不同xml文件。但我无法找到根据storeview检索数据的方式,如名称,描述和更重要的,根据storeview的产品网址。 setstoreid过滤器不适合我想要的。 任何帮助都会很棒,感谢阅读!
答案 0 :(得分:0)
默认情况下,Magento中已提供此功能。要获取特定商店视图的产品,请执行以下操作:
转到目录&gt;产品
选择产品列表上方的商店视图。
您现在正在查看此商店视图中包含的所有商品。
选择正确的商店视图后,使用左侧的复选框选择要启用或禁用的产品。
现在,使用产品列表右上角的操作下拉菜单,选择&#39;更改状态&#39;,选择&#39;已停用&#39;或者&#39;启用&#39;然后点击“提交”按钮。