【发布时间】: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 只能在第一次使用?
【问题讨论】: