Grid Magento -> AddColumn String Lunghezza
-
12-12-2019 - |
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: -)
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.