我正在运行1.3.2.1版本,但在我的客户端服务器上,他们有Magento 1.3.0所以我以前的代码显示我的本地副本的图像,
echo $this->helper('catalog/image')->init($_product)->resize(163, 100);
Run Code Online (Sandbox Code Playgroud)
,不适用于客户端的安装.
查看他们的Magento返回的结果,版本1.3.0实际上返回一个URL,虽然它指向皮肤的媒体文件夹.
有没有办法获得图像的绝对图像路径?
或者我应该在其他地方进行更改,告诉Magento媒体目录应该在根目录下吗?
sil*_*lvo 55
echo $_product->getImageUrl();
Run Code Online (Sandbox Code Playgroud)
Product类的这个方法应该可以帮到你.
Ric*_*ins 33
你可以尝试更换$this->通过Mage::在某些情况下.您需要转换为字符串.
在我的情况下,我使用DirectResize扩展 (直接链接),所以我的代码是这样的:
(string)Mage::helper('catalog/image')->init($_product, 'image')->directResize(150,150,3)
Run Code Online (Sandbox Code Playgroud)
比率选项(第三个参数)是:
更新:此处的其他信息和版本
没有插件的常见方式是:
(string)Mage::helper('catalog/image')->init($_product, 'image')->resize(150)
Run Code Online (Sandbox Code Playgroud)
您可以将'image'替换为'small_image'或'thumbnail'.
Rem*_*emy 13
我最近也需要这样做......这是我如何做到的:
$_product->getMediaGalleryImages()->getItemByColumnValue('label', 'LABEL_NAME')->getUrl();
Run Code Online (Sandbox Code Playgroud)
希望对你有所帮助!
小智 8
这是我发现加载集合中所有产品的所有图像数据的方法.我现在不确定为什么需要从Mage :: getModel切换到Mage :: helper并重新加载产品,但必须完成.我已经从magento图像soap api反向设计了这个代码,所以我很确定它是正确的.
我将它设置为加载供应商代码等于'39'的产品,但您可以将其更改为任何属性,或者只加载所有产品,或加载您想要的任何集合(包括显示当前产品的phtml文件中的集合)屏幕!)
$collection = Mage::getModel('catalog/product')->getCollection();
$collection->addFieldToFilter(array(
array('attribute'=>'vendor_code','eq'=>'39'),
));
$collection->addAttributeToSelect('*');
foreach ($collection as $product) {
$prod = Mage::helper('catalog/product')->getProduct($product->getId(), null, null);
$attributes = $prod->getTypeInstance(true)->getSetAttributes($prod);
$galleryData = $prod->getData('media_gallery');
foreach ($galleryData['images'] as &$image) {
var_dump($image);
}
}
Run Code Online (Sandbox Code Playgroud)
首先您需要验证在Magento管理员中选择基本,小图像和缩略图.
admin-> catalog-> manage product-> product-> image
然后选择你的图像角色(基础,小,缩略图)
然后使用调用图像
echo $ this-> helper('catalog/image') - > init($ _ product,'small_image') - > resize(163,100);
希望这对你有所帮助.
<img src='.$this->helper('catalog/image')->init($product, 'small_image')->resize(225, 225).' width=\'225\' height=\'225\'/>
Run Code Online (Sandbox Code Playgroud)
小智 3
您需要设置图像类型:small_image 或 image
echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(163, 100);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
176705 次 |
| 最近记录: |