2016-08-24 9 views

답변

2

먼저 기존 제품 관리 테이블에 새 열을 추가하려면 magento 블록을 확장해야합니다. Mage_Adminhtml_Block_Catalog_Product_Grid. 이렇게하려면 사용자 정의 모듈을 작성할 수 있습니다. 이 라인은 넣어 XXX라는 이름의 당신의 Config.xml 파일 : _prepareCollection()

class XXX_Adminhtml_Block_Catalog_Product_Grid extends Mage_Adminhtml_Block_Catalog_Product_Grid { 
    // ... 
    protected function _prepareCollection() 
    { 
     //... 
     $collection = Mage::getModel('catalog/product')->getCollection() 
      ->addAttributeToSelect('sku') 
      ->addAttributeToSelect('name') 
      ->addAttributeToSelect('attribute_set_id') 
      ->addAttributeToSelect('type_id') 
      ->addAttributeToSelect('thumbnail'); 
     //... 

와 두 번째 방법 :

<global> 
    <blocks> 
     <adminhtml> 
      <rewrite> 
       <catalog_product_grid>XXX_Adminhtml_Block_Catalog_Product_Grid</catalog_product_grid> 
      </rewrite> 
     </adminhtml> 
    </blocks> 
</global> 

지금 파일 당신이 두 가지 방법을 덮어 쓸 필요가 XXX_Adminhtml_Block_Catalog_Product_Grid
protected function _prepareColumns() 
{ 
    //... 
    $this->addColumn('product_image', array(
     'header' => Mage::helper('frame')->__('Thumbnail'), 
     'column_css_class' => 'vertical-align-middle', 
     'width'  => '90px', 
     'index'  => 'frame_left', 
     'type'  => 'image', 
     'escape' => true, 
     'sortable' => false, 
     'filter' => false, 
     'renderer' => Mage::getBlockSingleton('xxx_adminhtml_block_catalog_product_grid_renderer_image') 
    )); 
    //... 

product_image 열을 원하는대로 넣으려면 여기에 열을 추가하는 순서가 중요합니다. 당신이 easly 수도 완벽한 존재하지만해야하지 작품 카테고리 위젯 샘플 코드를 추가 할 수 있습니다

class XXX_Adminhtml_Block_Catalog_Product_Grid_Renderer_Image extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract 
{ 
    public function render(Varien_Object $row) 
    { 
     $thumbnail = $row->getThumbnail(); 
     $gridImageSrc = $this->getSkinUrl('images/np_thumb2.gif'); 
     if($thumbnail != 'no_selection') { 
      $temp = str_replace("\\","/", Mage::getBaseUrl('media') . 'catalog'. DS . 'product' . $thumbnail); 
      $fileExistsRemote = @fopen($temp, 'r'); 
      if($fileExistsRemote) { 
       $gridImageSrc = $temp; 
      } 
      @fclose($fileExistsRemote); 
     } 
     $html = '<img '; 
     $html .= 'id="' . $this->getColumn()->getId() . '" '; 
     $html .= 'width="80" '; 
     $html .= 'height="80" '; 
     $html .= 'src="' . $gridImageSrc . '" '; 
     $html .= 'class="grid-image vertical-align-middle"/>'; 

     return $html; 
    } 
} 

비슷한 방법 : 마지막 단계는 이미지 렌더링을 만드는 것입니다. 즐겨.