Magento Grid -> Länge der Zeichenfolge addColumn
-
12-12-2019 - |
Frage
Ich versuche, Kundeninitialen anstelle von vollständigen Namen im Kundenraster anzuzeigen.IE.Anstelle von "Mr John Middle Smith" möchte ich "Mr J M Smith"
Kann mir jemand die richtige Richtung weisen, um dies zu ändern:
$this->addColumn('firstname', array(
'header' => Mage::helper('customer')->__('First Name'),
'index' => 'firstname',
));
Um nur das erste Zeichen von zu bekommen firstname
Dank :-)
Lösung
Sie können dafür Ihren eigenen Renderer verwenden.Siehe Beispiel: generasacodicetagpre.
die Renderer-Klasse: generasacodicetagpre.
Sie können hier Standard-Rendereres finden:
App \ Code \ Core \ Mage \ adminhtml \ block \ widget \ grid \ column \ renderer
Andere Tipps
Schritt 1: Sie müssen die Datei im lokalen Ordner überschreiben oder einfach kopieren app\code\core\Mage\Adminhtml\Block\Customer\Grid.php
zu app\code\local\Mage\Adminhtml\Block\Customer\Grid.php
Schritt 2: Ersetzen Sie den folgenden Code durch
$this->addColumn('name', array(
'header' => Mage::helper('customer')->__('Name'),
'index' => 'name'
));
Ersetzen durch
$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',
));
Schritt 3: Datei erstellen in NameSpace\Customergrid\Block\Adminhtml\Renderer\Namewithprifx.php
Schritt 4: Kopieren Sie den folgenden Code.
<?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;
}
}
Schritt 5: Aktualisieren Sie den Cache und überprüfen Sie die Daten.