当我在后端添加新产品时,我被要求选择“相关产品”,“向上销售”和“交叉销售”。我希望能够在后端看到缩略图,因此我可以快速选择它们,而不是试图通过名称/ sku来选择它们。在Magento后端的“相关产品”上添加缩略图
回答
您可能可以重写一个网格控制器,该网格控制器显示管理员该区域中的产品,并使用另一个字段向您显示产品图像。
对于adminhtml网格,渲染器图像不存在。你必须重写这个。
编辑文件app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Related.php
附近的管线140,该代码下:
$this->addColumn('entity_id', array(
'header' => Mage::helper('catalog')->__('ID'),
'sortable' => true,
'width' => 60,
'index' => 'entity_id'
));
粘贴此代码:
$this->addColumn('image', array(
'header'=> Mage::helper('catalog')->__('Image'),
'type' => 'image',
'width' => '60px',
'index' => 'image',
));
编辑文件app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column.php
第271行,添加此代码重写渲染器:
case 'image':
$rendererClass = 'adminhtml/widget_grid_column_renderer_image';
break;
和附近的线路348增加(对过滤器):
case 'image':
$filterClass = 'adminhtml/widget_grid_column_filter_image';
break;
现在,你必须创建文件app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Renderer/Image.php
(如果不存在的话)与此内容的代码:
<?php class Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Image extends
Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract {
protected static $showImagesUrl = null;
protected static $showByDefault = null;
protected static $width = null;
protected static $height = null;
public function __construct() {
if(self::$showImagesUrl == null)
self::$showImagesUrl = 1;
if(self::$showByDefault == null)
self::$showByDefault = 1;
if(self::$width == null)
self::$width = '60px';
if(self::$height == null)
self::$height = '60px';
}
/**
* Renders grid column
*
* @param Varien_Object $row
* @return string
*/
public function render(Varien_Object $row) {
return $this->_getValue($row);
}
/*
public function renderProperty(Varien_Object $row) {
$val = $row->getData($this->getColumn()->getIndex());
$val = Mage::helper('imagebyurl')->getImageUrl($val);
$out = parent::renderProperty(). ' onclick="showImage('.$val.')" ';
return $out;
}
*/
protected function _getValue(Varien_Object $row) {
//$row->getEntityId();
$dored = false;
if ($getter = $this->getColumn()->getGetter()) {
$val = $row->$getter();
}
$val = $val2 = $row->getData($this->getColumn()->getIndex());
$val = str_replace("no_selection", "", $val);
$val2 = str_replace("no_selection", "", $val2);
$url = Mage::helper('adminhtml')->getImageUrl($val);
if(!Mage::helper('adminhtml')->getFileExists($val)) {
$dored =true;
$val .= "[!]";
}
if(strpos($val, "placeholder/")) {
$dored = true;
}
$filename = substr($val2, strrpos($val2, "/")+1,
strlen($val2)-strrpos($val2, "/")-1);
$_url = $url;
//echo $_SERVER['SERVER_NAME'];
if(!self::$showImagesUrl) $filename = '';
if($dored) {
$val = "<span style=\"color:red\" id=\"img\">$filename</span>";
}
else {
$val = "<span style=\"color:#888;\">". $filename ."</span>";
}
if(empty($val2)) {
$out = "<center>" . $this->__("(no image)") . "</center>";
}
else {
$out = $val. '<center><a href="'.$_url.'" target="_blank"
id="imageurl">';
}
if(self::$showByDefault && !empty($val2)) {
$out .= "<img src=". $url ." width='60px' ";
$out .=" />";
}
$out .= '</a></center>';
return $out;
}
}
(您可以通过任何宽度代替width=60px
你想或与此内容的代码添加高度)
现在,你必须创建文件app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Image.php
(如果不存在):
<?php class Mage_Adminhtml_Block_Widget_Grid_Column_Filter_Image extends Mage_Adminhtml_Block_Widget_Grid_Column_Filter_Text { }
不要忘记刷新缓存。
现在您必须在相关网格中看到图像列。
你可以做同样的事情app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Upsell.php
和app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Crosssell.php
感谢您提供优秀的技巧大流士。但是,不要编辑/ app/code/core /中的文件,而应该真的在/ app/code/local /中复制它们以防止升级破坏您的更改。 – clockworkgeek 2011-01-04 09:43:04
优秀的描述和解决方案。竖起大拇指。 – James 2013-01-08 07:13:26
- 1. 如何在Magento中添加产品缩略图?
- 2. 添加产品缩略图Magento的发票PDF
- 3. Magento的:让缩略图crossel产品
- 4. Magento的同一类产品缩略图
- 5. 移动Magento类别选择上方产品列表和添加缩略图
- 6. Magento - 使用分组产品缩略图显示“向上销售”缩略图
- 7. Magento在后端添加产品后显示错误
- 8. Magento添加产品
- 9. magento添加产品
- 10. 产品图片缩略图
- 11. 缩略图到产品图片的网址Magento在Flowplayer
- 12. 在产品类别页面上获得相关产品Magento
- 13. 在magento的可配置产品上显示相关产品的图像
- 14. Magento的:相关产品转移到相关产品
- 15. magento:从前端添加产品
- 16. Magento:从前端形式添加产品
- 17. Magento相关产品选项
- 18. Magento相关产品Sidebar
- 19. Magento:在可配置产品上显示相关产品的图像
- 20. Magento Show相关产品图像
- 21. 添加分页到相关产品在Magento
- 22. Magento:没有'添加产品'按钮在后端新订单
- 23. Magento - 向追加销售/相关产品添加数量框
- 24. WooCommerce产品缩略图
- 25. 将缩略图添加到Magento的产品说明区域,单击后显示在主图像框中
- 26. 如何在购物车中显示产品的缩略图 - Magento
- 27. Woocommerce-重置产品页面上的产品缩略图大小
- 28. 添加新产品后Magento错误
- 29. 如何在magento管理端添加新产品添加页面?
- 30. 添加缩略图到Group产品图片Woocommerce
谢谢...我会在哪里找到的? – eugene 2010-12-20 18:49:55
什么eugene,不用谢谢大流士杰出的答案? – Pete855217 2014-03-19 09:05:37