관리 > 판매 > 주문에 관세 열 추가 [중복]
-
12-12-2019 - |
문제
나는 방법을 재정의하여 관리 > 판매 > 주문에 열을 추가하려고 합니다.앱/코드/코어/MAGE/AdminHTML/Block/Sales/Order/grid.php 복사 앱/코드/로컬/Mage/AdminHtml/Block/Sales/Order/Grid.php를 복사하십시오.
보호된 함수 _prepareCollection()에 이 코드를 추가하세요.
$collection->getSelect()->join('sales_flat_order_item', '`sales_flat_order_item`.order_id=`main_table`.entity_id', array('name' => new Zend_Db_Expr('group_concat(`sales_flat_order_item`.name SEPARATOR ", ")')));
보호된 함수 _prepareColumns()에 이 코드를 추가하세요.
$this->addColumn('name', array(
'header' => Mage::helper('sales')->__('Product Name'),
'index' => 'name',
));
하지만 이미지와 같이 모든 주문의 모든 제품 이름을 모두 가져옵니다.
해결책
보세요 Sales_Order_Grid에 SKU 및 제품 이름을 표시하시겠습니까?
다음 두 가지 방법 중 하나로 이 작업을 수행할 수 있습니다.
1) "렌더러" 사용
$this->addColumn('name', array(
....
'renderer' => 'NameSpace_ModuleName_Block_Adminhtml_Renderer_Productsname',
));
class NameSpace_ModuleName_Block_Adminhtml_Renderer_Productsname extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
{
public function render(Varien_Object $row)
{
$order=Mage::getModel('sales/order')->load($row->getData('entity_id'));
$str="";
foreach($order->getAllVisibleItems() as $_item){
$str .= $_item->getSku();
}
unset($order);
return $str;
}
}
2) "join" 사용 참조 https://magento.stackexchange.com/a/14343/519
제휴하지 않습니다 magento.stackexchange