Magento: создание URL продукта - PullRequest
1 голос
/ 19 апреля 2011

Мне удалось получить такие атрибуты, как имя, 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>

Ответы [ 2 ]

1 голос
/ 20 апреля 2011

URL продукта просто:

$product->getProductUrl()

На самом деле, лучше использовать геттеры и сеттеры вместо доступа к массивам объектов Magento, поскольку это позволяет другим разработчикам предоставлять переопределения обычным способом.,Поэтому вместо $product['description'] используйте $product->getDescription().Это позволит избежать проблем в будущем.

0 голосов
/ 19 апреля 2011

Вместо того, чтобы вычислять базовый URL-адрес самостоятельно, вы можете просто использовать:

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

Встроенный помощник имеет функцию __toString(), поэтому автоматически создает URL-адрес при использовании в качестве строки.Он также позаботится о водяных знаках, изменении размера, обрезке и всех других вещах, которые вы обычно видите в действии, но принимаете как должное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...