Magento Admin:通过添加列限制网格中的字符

时间:2015-08-07 14:26:49

标签: php magento magento-1.9

我们正在使用Magento CE 1.9.1。

我似乎无法找到答案。

我已为模块管理网格添加了一列。我希望在数据填充单元格时限制字符串的长度。

$this->addColumn是否允许这样做?我发现的唯一建议是string_limit,但这不起作用。

修改

这就是我所看到的。

enter image description here

我想限制此字段中的可见字符,因此我不会显示整个字符串。

protected function _prepareColumns()中生成此列的代码:

$this->addColumn('testimonial', array(
    'header'       => Mage::helper('testimonial')->__('Testimonial'),
    'align'        => 'left',
    'index'        => 'testimonial',
));

我发现完成我想要的唯一建议是将'string_limit' => '{some number}'添加到addColumn选项数组中。没有工作。

1 个答案:

答案 0 :(得分:1)

您必须覆盖本地文件夹中的文件,或者只需将app \ code \ core \ Mage \ Adminhtml \ Block \ Testimonial \ Grid.php复制到app \ code \ local \ Mage \ Adminhtml \ Block \ Testimonial \ Grid.php

$this->addColumn('name', array(
    'header'    => Mage::helper('testimonial')->__('Testimonial'),
    'index'     => 'testimonial'
));

将其替换为

$this->addColumn('namewithprifx', array(
   'header'    => Mage::helper('testimonial')->__('Testimonial'),
    'index'     => 'testimonial',
    'type'  => 'text',      
    'width' => '250px',
    'sortable'  =>false,
    'filter' => false,                                         
    'renderer' => 'NameSpace_Customergrid_Block_Adminhtml_Renderer_Namewithprifx',          
    ));

在NameSpace \ Customergrid \ Block \ Adminhtml \ Renderer \ Namewithprifx.php中创建文件

    <?php
 class NameSpace_Customergrid_Block_Adminhtml_Renderer_Namewithprifx extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
 {
   public function render(Varien_Object $row)
   {

    //$getData = $row->getData();               
    $str=$row->getData('prefix'). " ". $row->getData('testimonial');
    return $str; //you can use substr or any php function here
  }
}

清除缓存并尝试