【问题标题】:Magento API product URL not updatingMagento API 产品 URL 未更新
【发布时间】:2014-07-10 06:04:20
【问题描述】:

正在使用带有 SOAP 的 Magento API,我想要实现的是在外部网页中显示我的页面中的产品。我正在显示 ID、名称、描述、图像和页面链接。一切正常,除了一件事:产品页面的链接都是一样的(它们都重定向到第一个产品)

这是我目前的代码:

<?php
$proxy = new SoapClient('http://127.0.0.1/magento/api/v2_soap/?wsdl'); // TODO : change url
$sessionId = $proxy->login('testUser', 'password'); // TODO : change login and pwd if necessary
$pageURL="categorytree.php/";
$result = $proxy->catalogProductList($sessionId);
//var_dump($result);

echo "<br><br>";

require_once('/magento/app/Mage.php'); //Path to Magento
umask(0);
Mage::app();

$productModel = Mage::getModel('catalog/product');
//var_dump($productModel->getProductUrl);

foreach($result as $product)
{
    echo "ID: $product->product_id <br>";
    $productID = $product->product_id;
    echo "Name: $product->name <br>";
    $p = $productModel->load($productID);
    $description = $p->getDescription();
    echo "Description: $description <br>";
    $imageUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . 'catalog/product' . $p->getImage();
    $product_collection_url = $p->getProductUrl();
    $product_collection_url = str_replace($pageURL,"",$product_collection_url);
    echo "Image: <a href='$product_collection_url'><img src='$imageUrl'></a><br>";
    echo "<a href='$product_collection_url'>link to page</a><br>";
    echo "<br>";
}
echo "<br><br>";
?>

首先我认为它与 for 循环有关,但每个产品 id、名称、描述都是正确的,$product_collection_url 是导致问题的原因。

看起来 $p->getProductUrl 只能在第一次使用?

【问题讨论】:

    标签: php api magento


    【解决方案1】:

    没关系,解决了。

    我不得不再次加载产品,添加这些行

    $my_product = Mage::getModel('catalog/product')->load($productID); 
    $my_product_url = $my_product->getProductUrl();
    

    获取产品页面的网址

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多