Magento Admin: ограничение количества символов в сетке с помощью добавления столбца

1

Мы используем Magento CE 1.9.1.

Кажется, я не могу найти ответ на этот вопрос.

Я добавил столбец для модуля admin grid. Я хочу ограничить длину строки, когда данные заполняют ячейку.

Есть ли опция для $this->addColumn которая позволяет это? Единственное, что я нашел, это string_limit, но это не сработало.

редактировать

Вот что я вижу.

Изображение 174551

Я хочу ограничить видимые символы в этом поле, чтобы я не отображал всю строку.

Код, который генерирует этот столбец в protected function _prepareColumns():

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

Единственное предложение, которое я нашел для достижения того, что я хочу, это добавить 'string_limit' => '{some number}' в addColumn параметров addColumn. Не работает.

  • 0
    Вы можете показать мне, как вы показываете? а шаблон местоположения?
Теги:
magento
magento-1.9

1 ответ

1
Лучший ответ

Вы должны переопределить файл в локальной папке или просто скопировать приложение \code\core\Mage\Adminhtml\Block\Testimonial\Grid.php в приложение \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
  }
}

очистить кеш и попробовать

  • 0
    Благодарю. У меня было ощущение, что мне придется идти по этому маршруту, я просто был уверен, что есть способ сделать это с пользовательским рендерером.
  • 0
    Большой ! Приятно знать, что это сработало для вас :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню