gpt4 book ai didi

php - 如何扩展 Magento API catalog_product.list 以包含更多产品信息 XML-RPC

转载 作者:可可西里 更新时间:2023-10-31 23:09:31 24 4
gpt4 key购买 nike

好的,这是我的情况。

我们正在使用 Magento Store 作为服装店 iPad 应用程序的在线目录。

有多个类别和几百种产品。

通过使用 XML-RPC 对我们可用的所有标准 api 调用,我们已经设法让我们漂亮的 iPad 应用程序正常工作。

它确实需要很长时间才能加载类别列表。这样做的原因是 catalog_product.list 仅返回有关产品的基本信息,例如编号和 sku。因此,我们必须为列表中的每个产品建立新连接,以获取我们需要的其他信息。例如名称、价格、缩略图。为 100 个产品建立新的 XML-RPC 连接非常耗时。当前超过 30 秒。当然,在第一次加载后,我们可以将此信息本地存储在 ipad 中,但重要的是第一次加载速度也很快。

当前方法的示例返回:catelog_product.list

position = "";
"product_id" = 805;
set = 4;
sku = 1901252;
type = simple;
},
{
position = "";
"product_id" = 807;
set = 4;
sku = 2143405;
type = simple;
},

问题一)

有没有办法用现有的标准 Magento API 解决这个问题?

问题2)

如果不是,那么我需要去哪里更新 catalog_product.list 方法,以便它包含我们需要的额外信息。

注意:我对 PHP 非常熟悉,但对 Magento 及其框架的确切结构不是很熟悉。

如有任何帮助,我们将不胜感激。

最佳答案

转到 \app\code\core\Mage\Catalog\Model\Product\Api.php ,找到 items 方法并查看下一段代码(我的 CE 1.6 中的第 80 行)

        $result[] = array( // Basic product data
'product_id' => $product->getId(),
'sku' => $product->getSku(),
'name' => $product->getName(),
'set' => $product->getAttributeSetId(),
'type' => $product->getTypeId(),
'category_ids' => $product->getCategoryIds()
);

在这里添加需要的属性甚至写$result[] = $product->getData();获取所有标准属性。如果您在那里需要一些自定义属性,请查看代码

    $collection = Mage::getModel('catalog/product')->getCollection()
->addStoreFilter($this->_getStoreId($store))
->addAttributeToSelect('name');

上面(我的 CE 1.6 中的第 58 行)并添加行 ->addAttributeToSelect('<your_attribute_code>') .

关于php - 如何扩展 Magento API catalog_product.list 以包含更多产品信息 XML-RPC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7796845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com