Я хочу получить базовое изображение продукта в Magento, чтобы изменить его размер и отобразить на боковой панели корзины.
К сожалению, это:
echo $this->helper('catalog/image')->init($_product, 'image')->resize(38, 38);
печатает замещающее изображение Magento.
Базовый образ правильно настроен для этого продукта. Маленькое изображение и миниатюра прекрасно работают.
Не знаю, что происходит.
РЕДАКТИРОВАТЬ: Решение :Получите полные данные о продукте таким образом:
$_product = Mage::getModel('catalog/product')->load($_item->getProduct()->getId());
а затем используйте его по своему усмотрению:
echo $this->helper('catalog/image')->init($_product, 'image')->resize(38, 38);
Попробуйте:
$this->helper('catalog/image')->init( Попробуйте:
[110]product, 'image')->keepFrame(false)
->constrainOnly(true)->resize(38,38);
Magento Product присваивание изображения переменной
$product_image = Mage::helper('catalog/image')->init($productmodel,'small_image')->keepFrame(true)->resize(width,height).'';
Magento Product присваивание изображения объекту
$products[] = Mage::helper('catalog/image')->init($productmodel,'small_image')->keepFrame(true)->resize(width,height).'';
Это работает для меня ....
Причина этого заключается в том, что атрибут image
не загружен в список товаров. Обычно вы можете изменить это при редактировании атрибута, но вы не можете редактировать эти настройки для этого атрибута. Я думаю, что это потому, что это атрибут акции.
TLDR;
UPDATE catalog_eav_attribute SET used_in_product_listing = 1 WHERE attribute_id = 106;
** Предупреждение, вы не должны выполнять этот запрос ^^^, пока не убедитесь, что ваш image
attribute_id для сущности catalog_product
равен 106!
Некоторые ответы предлагают этот метод:
Причина этого заключается в том, что атрибут image
не загружен в список товаров. Обычно вы можете изменить это при редактировании атрибута, но вы не можете редактировать эти настройки для этого атрибута. Я думаю, что это потому, что это атрибут акции.
TLDR;
[110] ** Предупреждение, вы не должны выполнять этот запрос ^^^, пока не убедитесь, что ваш image
attribute_id для сущности catalog_product
равен 106!
Некоторые ответы предлагают этот метод:
[111] Вы не должны этого делать! Это потому, что вы будете делать полную загрузку продукта! Это не эффективно и, скорее всего, делается внутри цикла, что еще хуже! Извините за крики!
Я обычно не оправдываю прямое редактирование БД, но в этом случае это было самое простое решение для меня:
# First make sure we are using all the right IDs, who knows, I have seen some fubar'ed deployments
SELECT entity_type_id FROM eav_entity_type WHERE entity_type_code = 'catalog_product';
# 10
SELECT attribute_id FROM eav_attribute WHERE attribute_code = 'image' AND entity_type_id = 10;
# 106
# Now that we know the exact attribute_id....
UPDATE catalog_eav_attribute SET used_in_product_listing = 1 WHERE attribute_id = 106;
Теперь данные атрибута image
будут автоматически загружается на страницах с перечнем товаров, затем вы можете получить к нему доступ следующим образом:
echo $this->helper('catalog/image')->init( Причина этого заключается в том, что атрибут image
не загружен в список товаров. Обычно вы можете изменить это при редактировании атрибута, но вы не можете редактировать эти настройки для этого атрибута. Я думаю, что это потому, что это атрибут акции.
TLDR;
[110] ** Предупреждение, вы не должны выполнять этот запрос ^^^, пока не убедитесь, что ваш image
attribute_id для сущности catalog_product
равен 106!
Некоторые ответы предлагают этот метод:
[111] Вы не должны этого делать! Это потому, что вы будете делать полную загрузку продукта! Это не эффективно и, скорее всего, делается внутри цикла, что еще хуже! Извините за крики!
Я обычно не оправдываю прямое редактирование БД, но в этом случае это было самое простое решение для меня:
[112] Теперь данные атрибута image
будут автоматически загружается на страницах с перечнем товаров, затем вы можете получить к нему доступ следующим образом:
[113] Самое приятное то, что вы не загружаете весь продукт в цикле! НЕ КОГДА-ЛИБО ДЕЛАЙТЕ ЭТО
** Кроме того, поскольку я знаю, что заставлю людей говорить, что это не так, как в Magento, альтернативой будет создание модуля, который имеет скрипт установки SQL, который выполняется команда.
product, 'image');
Самое приятное то, что вы не загружаете весь продукт в цикле! НЕ КОГДА-ЛИБО ДЕЛАЙТЕ ЭТО
** Кроме того, поскольку я знаю, что заставлю людей говорить, что это не так, как в Magento, альтернативой будет создание модуля, который имеет скрипт установки SQL, который выполняется команда.
product = Mage::getModel('catalog/product')->load( Причина этого заключается в том, что атрибут image
не загружен в список товаров. Обычно вы можете изменить это при редактировании атрибута, но вы не можете редактировать эти настройки для этого атрибута. Я думаю, что это потому, что это атрибут акции.
TLDR;
[110] ** Предупреждение, вы не должны выполнять этот запрос ^^^, пока не убедитесь, что ваш image
attribute_id для сущности catalog_product
равен 106!
Некоторые ответы предлагают этот метод:
[111] Вы не должны этого делать! Это потому, что вы будете делать полную загрузку продукта! Это не эффективно и, скорее всего, делается внутри цикла, что еще хуже! Извините за крики!
Я обычно не оправдываю прямое редактирование БД, но в этом случае это было самое простое решение для меня:
# First make sure we are using all the right IDs, who knows, I have seen some fubar'ed deployments
SELECT entity_type_id FROM eav_entity_type WHERE entity_type_code = 'catalog_product';
# 10
SELECT attribute_id FROM eav_attribute WHERE attribute_code = 'image' AND entity_type_id = 10;
# 106
# Now that we know the exact attribute_id....
UPDATE catalog_eav_attribute SET used_in_product_listing = 1 WHERE attribute_id = 106;
Теперь данные атрибута image
будут автоматически загружается на страницах с перечнем товаров, затем вы можете получить к нему доступ следующим образом:
echo $this->helper('catalog/image')->init( Причина этого заключается в том, что атрибут image
не загружен в список товаров. Обычно вы можете изменить это при редактировании атрибута, но вы не можете редактировать эти настройки для этого атрибута. Я думаю, что это потому, что это атрибут акции.
TLDR;
[110] ** Предупреждение, вы не должны выполнять этот запрос ^^^, пока не убедитесь, что ваш image
attribute_id для сущности catalog_product
равен 106!
Некоторые ответы предлагают этот метод:
[111] Вы не должны этого делать! Это потому, что вы будете делать полную загрузку продукта! Это не эффективно и, скорее всего, делается внутри цикла, что еще хуже! Извините за крики!
Я обычно не оправдываю прямое редактирование БД, но в этом случае это было самое простое решение для меня:
[112] Теперь данные атрибута image
будут автоматически загружается на страницах с перечнем товаров, затем вы можете получить к нему доступ следующим образом:
[113] Самое приятное то, что вы не загружаете весь продукт в цикле! НЕ КОГДА-ЛИБО ДЕЛАЙТЕ ЭТО
** Кроме того, поскольку я знаю, что заставлю людей говорить, что это не так, как в Magento, альтернативой будет создание модуля, который имеет скрипт установки SQL, который выполняется команда.
product, 'image');
Самое приятное то, что вы не загружаете весь продукт в цикле! НЕ КОГДА-ЛИБО ДЕЛАЙТЕ ЭТО
** Кроме того, поскольку я знаю, что заставлю людей говорить, что это не так, как в Magento, альтернативой будет создание модуля, который имеет скрипт установки SQL, который выполняется команда.
item->getProduct()->getId());
echo $this->helper('catalog/image')->init( Причина этого заключается в том, что атрибут image
не загружен в список товаров. Обычно вы можете изменить это при редактировании атрибута, но вы не можете редактировать эти настройки для этого атрибута. Я думаю, что это потому, что это атрибут акции.
TLDR;
[110] ** Предупреждение, вы не должны выполнять этот запрос ^^^, пока не убедитесь, что ваш image
attribute_id для сущности catalog_product
равен 106!
Некоторые ответы предлагают этот метод:
[111] Вы не должны этого делать! Это потому, что вы будете делать полную загрузку продукта! Это не эффективно и, скорее всего, делается внутри цикла, что еще хуже! Извините за крики!
Я обычно не оправдываю прямое редактирование БД, но в этом случае это было самое простое решение для меня:
# First make sure we are using all the right IDs, who knows, I have seen some fubar'ed deployments
SELECT entity_type_id FROM eav_entity_type WHERE entity_type_code = 'catalog_product';
# 10
SELECT attribute_id FROM eav_attribute WHERE attribute_code = 'image' AND entity_type_id = 10;
# 106
# Now that we know the exact attribute_id....
UPDATE catalog_eav_attribute SET used_in_product_listing = 1 WHERE attribute_id = 106;
Теперь данные атрибута image
будут автоматически загружается на страницах с перечнем товаров, затем вы можете получить к нему доступ следующим образом:
echo $this->helper('catalog/image')->init( Причина этого заключается в том, что атрибут image
не загружен в список товаров. Обычно вы можете изменить это при редактировании атрибута, но вы не можете редактировать эти настройки для этого атрибута. Я думаю, что это потому, что это атрибут акции.
TLDR;
[110] ** Предупреждение, вы не должны выполнять этот запрос ^^^, пока не убедитесь, что ваш image
attribute_id для сущности catalog_product
равен 106!
Некоторые ответы предлагают этот метод:
[111] Вы не должны этого делать! Это потому, что вы будете делать полную загрузку продукта! Это не эффективно и, скорее всего, делается внутри цикла, что еще хуже! Извините за крики!
Я обычно не оправдываю прямое редактирование БД, но в этом случае это было самое простое решение для меня:
[112] Теперь данные атрибута image
будут автоматически загружается на страницах с перечнем товаров, затем вы можете получить к нему доступ следующим образом:
[113] Самое приятное то, что вы не загружаете весь продукт в цикле! НЕ КОГДА-ЛИБО ДЕЛАЙТЕ ЭТО
** Кроме того, поскольку я знаю, что заставлю людей говорить, что это не так, как в Magento, альтернативой будет создание модуля, который имеет скрипт установки SQL, который выполняется команда.
product, 'image');
Самое приятное то, что вы не загружаете весь продукт в цикле! НЕ КОГДА-ЛИБО ДЕЛАЙТЕ ЭТО
** Кроме того, поскольку я знаю, что заставлю людей говорить, что это не так, как в Magento, альтернативой будет создание модуля, который имеет скрипт установки SQL, который выполняется команда.
product, 'image')->resize(38, 38);
Вы не должны этого делать! Это потому, что вы будете делать полную загрузку продукта! Это не эффективно и, скорее всего, делается внутри цикла, что еще хуже! Извините за крики!
Я обычно не оправдываю прямое редактирование БД, но в этом случае это было самое простое решение для меня:
# First make sure we are using all the right IDs, who knows, I have seen some fubar'ed deployments
SELECT entity_type_id FROM eav_entity_type WHERE entity_type_code = 'catalog_product';
# 10
SELECT attribute_id FROM eav_attribute WHERE attribute_code = 'image' AND entity_type_id = 10;
# 106
# Now that we know the exact attribute_id....
UPDATE catalog_eav_attribute SET used_in_product_listing = 1 WHERE attribute_id = 106;
Теперь данные атрибута image
будут автоматически загружается на страницах с перечнем товаров, затем вы можете получить к нему доступ следующим образом:
echo $this->helper('catalog/image')->init( Причина этого заключается в том, что атрибут image
не загружен в список товаров. Обычно вы можете изменить это при редактировании атрибута, но вы не можете редактировать эти настройки для этого атрибута. Я думаю, что это потому, что это атрибут акции.
TLDR;
[110] ** Предупреждение, вы не должны выполнять этот запрос ^^^, пока не убедитесь, что ваш image
attribute_id для сущности catalog_product
равен 106!
Некоторые ответы предлагают этот метод:
[111] Вы не должны этого делать! Это потому, что вы будете делать полную загрузку продукта! Это не эффективно и, скорее всего, делается внутри цикла, что еще хуже! Извините за крики!
Я обычно не оправдываю прямое редактирование БД, но в этом случае это было самое простое решение для меня:
[112] Теперь данные атрибута image
будут автоматически загружается на страницах с перечнем товаров, затем вы можете получить к нему доступ следующим образом:
[113] Самое приятное то, что вы не загружаете весь продукт в цикле! НЕ КОГДА-ЛИБО ДЕЛАЙТЕ ЭТО
** Кроме того, поскольку я знаю, что заставлю людей говорить, что это не так, как в Magento, альтернативой будет создание модуля, который имеет скрипт установки SQL, который выполняется команда.
product, 'image');
Самое приятное то, что вы не загружаете весь продукт в цикле! НЕ КОГДА-ЛИБО ДЕЛАЙТЕ ЭТО
** Кроме того, поскольку я знаю, что заставлю людей говорить, что это не так, как в Magento, альтернативой будет создание модуля, который имеет скрипт установки SQL, который выполняется команда.