Domanda

Sto cercando di visualizzare le iniziali dei clienti anziché i nomi completi nella griglia del cliente. cioè. Invece di "Mr John Middle Smith" vorrei "Mr J M Smith"

Qualcuno può indicarmi nella giusta direzione per cambiare questo:

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

per ottenere il primo carattere di firstname

Grazie: -)

È stato utile?

Soluzione

Puoi usare il tuo rendering per questo.Vedi l'esempio:

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

La classe del rendering:

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

Puoi trovare i renderi predefiniti qui:
app \ code \ core \ mage \ adminhtml \ block \ widget \ grid \ colonna \ rendering

Altri suggerimenti

Passaggio 1: È necessario sovrascrivere il file nella cartella locale o semplicemente copiare app\code\core\Mage\Adminhtml\Block\Customer\Grid.php in app\code\local\Mage\Adminhtml\Block\Customer\Grid.php

Step 2: Sostituisci sotto il codice con

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

Sostituisci per

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

Step 3: Crea file in NameSpace\Customergrid\Block\Adminhtml\Renderer\Namewithprifx.php

Step 4: Copia sotto il codice.

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

Passaggio 5: Aggiorna cache e controllare i dati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top