获取基本产品图像 Magento

我想收到

基本的

图像产品 Magento, 要更改其大小并在侧栏上显示篮子。

不幸的是,这是:


echo $this->helper/'catalog/image'/->init/$_product, 'image'/->resize/38, 38/;


打印图像填充物 Magento.

基本图像正确为此产品配置。 一张小型图像和微型工作完美。

我不知道发生了什么。

EDIT:

决定:
以这种方式获取完整的产品数据:


$_product = Mage::getModel/'catalog/product'/->load/$_item->getProduct//->getId///;


然后以自行决定使用它:


echo $this->helper/'catalog/image'/->init/$_product, 'image'/->resize/38, 38/;
已邀请:

詹大官人

赞同来自:

我想你正在寻找它:


echo Mage::getModel/'catalog/product_media_config'/
->getMediaUrl/ $product->getImage// /; //getSmallImage//, getThumbnail//


应该付出代价

, 谁给了这一点
https://coderoad.ru/8288340/
.

小明明

赞同来自:

尝试:


$this->helper/'catalog/image'/->init/$_product, 'image'/->keepFrame/false/
->constrainOnly/true/->resize/38,38/;

奔跑吧少年

赞同来自:

小心点!


$this->helper/'catalog/image'/->init/$_product, 'small_image'/->resize/38, 38/;


这是

一个东西

, 和

不是 url 线

IT self. 是的,可以直接使用它 echo, 但不应该任命它 var. 例如,这

这没用

:


$images = array//;
foreach/$products as $_product/{
$images[]=$this->helper/'catalog/image'/->init/$_product, 'small_image'/
->resize/38, 38/;
}


后 foreach 您只有一个最后一个图像。 url. 轻松获得真正的串 url 是一个:


$images = array//;
foreach/$products as $_product/{
$images_obj = $this->helper/'catalog/image'/->init/$_product, 'small_image'/
->resize/38, 38/;
$images[] = /string/$images_obj;
}

奔跑吧少年

赞同来自:

这个原因在于属性的事实
image

未加载到产品列表中。 通常您可以在编辑属性时更改此属性,但无法更改此属性的这些设置。 我认为这是因为它是一个库存属性。

TLDR;


UPDATE catalog_eav_attribute SET used_in_product_listing = 1 WHERE attribute_id = 106;


** 警告,您不应该执行此请求 ^^^ 只要你确定你的
image

attribute_id 为了本质
catalog_product

掠夺 106!

对一些问题的答案表明这种方法:


$_product = Mage::getModel/'catalog/product'/->load/$_item->getProduct//->getId///;

echo $this->helper/'catalog/image'/->init/$_product, 'image'/->resize/38, 38/;


你不必这样做! 这是因为您将制作完整的产品负载! 这是无效的,最有可能的是,它在循环内完成,甚至更糟糕! 我很抱歉尖叫!

我通常不会沉迷于直接方向 DB, 但在这种情况下,这是我最简单的解决方案:


# 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/$_product, 'image'/;


最令人愉快的事情在循环中没有加载整个产品! 永远不要这样做

** 此外,我知道人们会说这不是一种方式 Magento, 替代方案是创建具有安装脚本的模块 SQL, 谁启动命令。

君笑尘

赞同来自:

一张小型图像和微型工作完美。

然后尝试 small_image 反而 image, 像这样:


echo $this->helper/'catalog/image'/->init/$_product, 'small_image'/->resize/38, 38/;

小明明

赞同来自:

<img -="" catalog="" image'="" src=".$this-&gt;helper/"/>init/$product, 'small_image'/->resize/225, 225/.' width=\'225\' height=\'225\'/>

诸葛浮云

赞同来自:

Magento 分配可变产品图像


$product_image = Mage::helper/'catalog/image'/->init/$productmodel,'small_image'/->keepFrame/true/->resize/width,height/.'';


Magento 分配产品图像对象


$products[] = Mage::helper/'catalog/image'/->init/$productmodel,'small_image'/->keepFrame/true/->resize/width,height/.'';


这个对我有用 ....

要回复问题请先登录注册