Вопрос

Я пытаюсь отобразить инициалы клиентов вместо полных имен в сетке клиента. т.е. Вместо того, чтобы «г-н Джон Средний Смит» я хотел бы «мистер Дж М Смит»

Кто-нибудь может указать мне в правильном направлении, чтобы изменить это:

    $this->addColumn('firstname', array(
        'header'    => Mage::helper('customer')->__('First Name'),
        'index'     => 'firstname',
    ));
.

Чтобы просто получить первый персонаж firstname

Спасибо: -)

Это было полезно?

Решение

Вы можете использовать свой собственный рендерер для этого.Смотрите пример:

$this->addColumn('firstname', array(
        'header'    => Mage::helper('customer')->__('First Name'),
        'renderer'  => 'amexample/adminhtml_customer_grid_renderer_name',
         ....
    )); 
.

класс рендерера:

class Amasty_Example_Block_Adminhtml_Customer_Grid_Renderer_Name extends  Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
{
    public function render(Varien_Object $row)
    {
        return substr($row->getFirstname(), 0, 1);
    }
}
.

Вы можете найти рендеренеров по умолчанию здесь:

APP \ Code \ Core \ mage \ adminhtml \ block \ widget \ grid \ column \ renderer

Другие советы

Шаг 1: Вы должны переопределить файл в локальной папке или просто копировать app\code\core\Mage\Adminhtml\Block\Customer\Grid.php для GeneracodicCode

<Сильный> Шаг 2: Заменить ниже код с помощью

    $this->addColumn('name', array(
        'header'    => Mage::helper('customer')->__('Name'),
        'index'     => 'name'
    ));
.

Заменить на

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

Шаг 3: Создать файл в app\code\local\Mage\Adminhtml\Block\Customer\Grid.php

Шаг 4: Копировать код ниже.

 <?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('fname'). " ". $row->getData('lname');
    return $str;
  }
}
.

Шаг 5: Обновить кеш и проверьте данные.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top