2011-04-19 161 views
1

我已經能夠從magento商店獲取名稱,圖片URL,描述等屬性。但是,獲取產品網址很繁瑣。任何幫助?謝謝。Magento:構建產品的URL

include_once 'app/Mage.php'; 
umask(0); 
Mage::app(); 

$products = Mage::getModel('catalog/product')->getCollection(); 
$products->addAttributeToSelect('*'); 
$products->load(); 
    $baseUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB); 

    foreach ($products as $id => $product): 
    $output .= ' 
    <product> 
    <name><![CDATA['. $product['name'] .']]></name> 
    <description><![CDATA['. $product['description'] .']]></description> 
    <url>'. $product['url_key'] .'</url> 
    <image>'. $baseUrl ."media/catalog/product". $product['image'] .'</image>'; 
    </product> 
+0

感謝喬的編輯。 – karto 2011-04-19 18:20:26

回答

1

產品URL就是:

$product->getProductUrl() 

事實上,這是更好,如果你在Magento的使用getter和setter方法,而不是數組訪問對象,因爲它允許其他開發人員能夠以常規的方式提供覆蓋。因此,請使用$product->getDescription()而不是$product['description']。它將在未來避免問題。

+0

謝謝clockwisegeek。它打印出URL,但它附加了我的文件名。例如。我將我的代碼保存爲magento.php,並將getProductUrl()保存爲http://www.dcommerce.com/magento.php/catalog/product/view/id/18/s/sony-ericsson-w810i/?SID=64f2094f58efbafa89156c8d5127ef8c 。我如何得到確切的網址,而不尊重我的magento.php文件? – karto 2011-04-21 09:31:49

+0

爲此,您需要在_System> Configuration> Web> Search Engines Optimization_ – clockworkgeek 2011-04-21 10:35:28

+0

上打開URL重寫。我做了搜索和替換。 – karto 2011-04-21 15:09:07

0

而是你自己,你可以計算基礎URL的簡單的使用:

'<image'>.Mage::helper('catalog/image')->init($product).'</image>' 

的助手有內置,自動將__toString()功能作爲字符串使用時產生的URL。它還將處理水印,調整大小,裁剪以及通常在行動中看到的所有其他內容,但理所當然。

+0

謝謝。我在談論產品網址。 (確切的鏈接到產品) – karto 2011-04-20 09:54:36