#magento
#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>
Ответ №1:
URL-адрес продукта — это просто:
$product->getProductUrl()
На самом деле, будет лучше, если вы будете использовать методы получения и установки вместо доступа к массиву для объектов Magento, потому что это позволяет другим разработчикам предоставлять переопределения обычным способом. Поэтому, $product['description']
пожалуйста, используйте $product->getDescription()
вместо. Это позволит избежать проблем в будущем.
Комментарии:
1. спасибо clockwisegeek. Он выводит URL, но добавляет к нему имя моего файла. например. Я сохранил свой код как magento.php и getProductUrl() выдает мне dcommerce.com/magento.php/catalog/product/view/id/18/s /… . Как мне получить точный URL-адрес без учета моего magento.php файл?
2. Для этого вам нужно включить перезапись URL-адреса в System> Configuration> Web> Search Engines Optimization
Ответ №2:
Вместо самостоятельного вычисления базового URL-адреса вы можете просто использовать:
'<image'>.Mage::helper('catalog/image')->init($product).'</image>'
В помощник встроена __toString()
функция, которая автоматически создает URL-адрес при использовании в виде строки. Он также позаботится о водяных знаках, изменении размера, обрезке и всех других вещах, которые вы обычно видите в действии, но принимаете как должное.
Комментарии:
1. Спасибо. Я говорил о URL-адресах продукта. (точные ссылки на продукты)