Получить базовое изображение продукта в Magento

Я хочу получить базовое изображение продукта в 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);
16
задан Dave 16 August 2012 в 21:27
поделиться

3 ответа

Попробуйте:

$this->helper('catalog/image')->init(

Попробуйте:

[110]product, 'image')->keepFrame(false) ->constrainOnly(true)->resize(38,38);
3
ответ дан alfasin 16 August 2012 в 21:27
поделиться

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).'';

Это работает для меня ....

0
ответ дан Manikandan Arunachalam 16 August 2012 в 21:27
поделиться

Причина этого заключается в том, что атрибут 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, который выполняется команда.

1
ответ дан nick.graziano 16 August 2012 в 21:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: