在做开发的时候我们有时候需要在后台添加产品分类,这样便于我们产品的管理和分类。在前端为了显示好看我们就可以使用我们上传的图片,显示前端。但是如何正确的获取分类的图片呢?
1.首先我们要获取当前的storeId
。
//获取当前站点的storeId $storeId=Mage::app()->getStore()->getStoreId(); //设置当前的分类站点 $categoriesSub=Mage::getModel('catalog/category')->setStoreId($storeId)->load($categoryId);
2.获取分类的对象的图片。
//获取分类的图片 $_imgUrl=$categoriesSub->getImageUrl()
3.模板phtml里面的代码。
<?php if($_imgUrl=$categoriesSub->getImageUrl()):?> <div class="image"> <img src="<?phpecho$_imgUrl;?>"alt="<?php$this->escapeHtml($categoriesSub->getName())?>"/> </div> <?php endif;?>
注意:如果你在后台产品分类想上传SVG的图片格式,后台则不允许上传。这时解决办法如下。
Magento 1的修改方法:依次打开目录找到文件 magento1\app\code\core\Mage\Catalog\Model\Resource\Product\Attribute\Backend\image.php
$uploader=newMage_Core_Model_File_Uploader($this->getAttribute()->getName()); //添加svg扩展名即可 //$uploader->setAllowedExtensions(array('jpg', 'jpeg', 'gif', 'png')); //修改如下 $uploader->setAllowedExtensions(array('jpg','jpeg','gif','png','svg')); $uploader->setAllowRenameFiles(true); $uploader->setFilesDispersion(true);
Magento 2的修改方法:依次打开目录找到文件 magento2\vendor\magento\module-catalog\Model\ResourceModel\Product\Attribute\Backend\Image.php
/** @var $uploader \Magento\MediaStorage\Model\File\Uploader */ $uploader=$this->_fileUploaderFactory->create(['fileId'=>$this->getAttribute()->getName()]); //$uploader->setAllowedExtensions(['jpg', 'jpeg', 'gif', 'png']); //上面的一句修改如下 $uploader->setAllowedExtensions(['jpg','jpeg','gif','png','svg']); $uploader->setAllowRenameFiles(true); $uploader->setFilesDispersion(true);