Magento Grid -> AddColumn 문자열 길이
-
12-12-2019 - |
문제
고객 그리드의 이름 대신 고객 이니셜을 표시하려고합니다. 즉. "John Middle Smith Mr"대신 "씨 J M Smith"를 원합니다.
누구든지 나를 올바른 방향으로 가리킬 수 있습니다 :
$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
를 app\code\local\Mage\Adminhtml\Block\Customer\Grid.php
로 복사해야합니다
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 단계 : NameSpace\Customergrid\Block\Adminhtml\Renderer\Namewithprifx.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 단계 : 캐시를 새로 고침하고 데이터를 확인하십시오.