Magento:使用 getModel 获取产品和类别

发布于 2024-10-11 11:12:42 字数 375 浏览 2 评论 0原文

我有一些代码返回一系列产品详细信息,包括 url_path。要创建到该产品的链接,我必须知道该产品的类别和子类别。不幸的是,该方法返回的所有数据都没有被拉出类别或子类别。

这是我获取产品的代码:

$product_id = array(231, 230,229,228);

foreach ($product_id as $id){
    $productDetails = Mage::getModel('catalog/product')->load($id)->getData();
    echo $productDetails['url_path'].'<br />';
}

是否可以获取每个产品的类别和子类别?

I have some code that returns an array of product details including a url_path. To create a link to this product I have to know the category and subcategory of the product. Unfortunately out all the data this method returns neither the category or sub category are pulled out.

Here is the code I have that gets a product:

$product_id = array(231, 230,229,228);

foreach ($product_id as $id){
    $productDetails = Mage::getModel('catalog/product')->load($id)->getData();
    echo $productDetails['url_path'].'<br />';
}

Is it possible to get the category and subcategory for each product?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

吝吻 2024-10-18 11:12:42

您正在寻找的

foreach ($product_id as $id){
    $categoryIds = Mage::getModel('catalog/product')->load($id)->getCategoryIds();    
}

它将返回您产品所属的类别 id 的数组。

you are looking for

foreach ($product_id as $id){
    $categoryIds = Mage::getModel('catalog/product')->load($id)->getCategoryIds();    
}

which will return you an array of category ids that the product belongs to.

魂牵梦绕锁你心扉 2024-10-18 11:12:42

避免错过重写的更好方法是使用核心功能。
Mage_Catalog模块有自己的url模型,可以修改产品url。

因此,代码将是:

$product_id = array(231, 230,229,228);

$urlModel = Mage::getSingleton('catalog/url');
foreach ($product_id as $id) {
    $urlModel->refreshProductRewrite($id);
}

并且不需要为此目的检索类别 ID。

Better way not to miss something with rewrites is to use core functionality.
Mage_Catalog module has own url model, with which product urls can be modified.

So, the code will be:

$product_id = array(231, 230,229,228);

$urlModel = Mage::getSingleton('catalog/url');
foreach ($product_id as $id) {
    $urlModel->refreshProductRewrite($id);
}

And it is no need to retrieve category ids for this purpose.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文