Pregunta

Estoy intentando mostrar las iniciales de los clientes en lugar de los nombres completos en la cuadrícula de clientes.es decir.En lugar de "Mr John Middle Smith", quisiera "Mr JM Smith".

¿Alguien puede indicarme la dirección correcta para cambiar esto?

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

Para obtener simplemente el primer carácter de firstname

Gracias :-)

¿Fue útil?

Solución

Puedes usar tu propio renderizador para esto.Ver el ejemplo:

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

La clase de renderizador:

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);
    }
}

Puede encontrar renderas predeterminadas aquí:

APP \ CODE \ Core \ Mage \ adminhtml \ block \ widget \ grid \ column \ renderer

Otros consejos

Paso 1: Tienes que anular el archivo en la carpeta local o simplemente copiarlo. app\code\core\Mage\Adminhtml\Block\Customer\Grid.php a app\code\local\Mage\Adminhtml\Block\Customer\Grid.php

Paso 2: Reemplace el siguiente código con

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

Sustituir por

     $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',          
        ));

Paso 3: Crear archivo en NameSpace\Customergrid\Block\Adminhtml\Renderer\Namewithprifx.php

Etapa 4: Copie el siguiente código.

 <?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;
  }
}

Paso 5: Actualiza el caché y verifica los datos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top