2015-08-07 3 views
1

Мы используем Magento CE 1.9.1.Magento Admin: лимит символов в сетке с помощью столбца Добавить

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

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

Есть ли опция для $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 варианта. Не работает.

+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 
    } 
} 

Очистить кэш и попробуйте

+0

Спасибо. У меня было ощущение, что мне придется спуститься по этому маршруту, я был уверен, что есть способ сделать это с помощью специального рендеринга. –

+0

Отлично! Приятно было знать, что это сработало для вас :) –

Смежные вопросы