我想不使用进口出口,我们有大量的产品(5,000)
基本上,我已经做了一些繁重的配置模板,以非常批发的方式为我们的客户显示目录,如果你想看看它在这里(www.musclefinessewholesale.com)但是,你将无法看到任何格式,除非您已登录,并且您无法注册,因为它只是交易。因此,基本上每个产品都有一个Grouped产品,然后将味道设置为与该产品相关的简单产品。
我知道这不是有时候做事的最佳方式,但它可以说是合适的。问题是当您点击主要类别(品牌)时,每个简单的产品都会显示,但我们只想显示分组的产品。
任何人都可以解释使用API如何在Magento中找到所有简单产品,然后将可见性单独更改为隐藏。这样他们只会作为主人的一部分出现。
请参阅附件,了解如何理解格式:
然而,当用户搜索某个产品时会发生这种情况(这些是我们需要隐藏在MASS上的简单产品)
我想如何编写API循环来浏览系统中的每个简单产品,并将可见性设置为单独不可见?
答案 0 :(得分:0)
试试这个,我知道这不是使用SOAP-API,而是直接挂在Magento上。
require_once($_SERVER['DOCUMENT_ROOT'] . '/app/Mage.php');
umask(0);
// Retrieve store-codes
$storelist = Mage::app()->getStores();
$storelang = array();
foreach ($storelist as $id => $s) {
$storelang[$id] = substr(Mage::getStoreConfig('general/locale/code', $id), 0, 2);
}
...
$storeId = Mage::app()->getStore()->getId();
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$pModel = Mage::getModel('catalog/product');
$products = $pModel->getCollection();
foreach ($products as $product) {
if ($product->isConfigurable()) {
$childProducts = Mage::getModel('catalog/product_type_configurable')
->getUsedProducts(null, $product);
foreach ($childProducts as $child) {
foreach ($storelang as $lang_key => $lang_value) {
$child->setStoreId(Mage::app()->getStore($lang_value)->getId());
// 1 = not visible individually
// 2 = catalog
// 3 = search
// 4 = catalog + search
$child->setVisibility(1);
try {
$child->save();
} catch (Exception $e) {
echo $e->getMessage();
}
}
}
}
如果您有任何问题,请随时与我们联系。 我希望这有帮助。 一切顺利。