好客戶屬性,我有一個多選項選擇,我已經添加到管理客戶網格。在客戶管理管理網格中顯示多選項客戶屬性
$prodCode = Mage::getSingleton('eav/config')->getAttribute('customer','prod_codes');
$prodCodeOptions = $prodCode->getSource()->getAllOptions(false);
$prodOptions = array();
foreach($prodCodeOptions as $k)
$prodOptions[$k['value']] = $k['label'];
$this->addColumn('prod_codes', array(
'header' => Mage::helper('customer')->__('Product Code'),
'width' => '100',
'index' => 'prod_codes',
'type' => 'options',
'options' => $prodOptions,
'filter_condition_callback'
=> array($this, '_filterProdOptionsCondition'),
));
我有我的屬性添加到集合在我Grid.php的頂部:
->addAttributeToSelect('prod_codes')
這裏是我的_filterProdOptionsCondition
方法:
protected function _filterProdOptionsCondition($collection, $column) {
if(!$value = $column->getFilter()->getValue()) {
return;
}
$this->getCollection()->addFieldToFilter('prod_codes', array('finset' => $value));
#print($collection->getSelectSql());
}
現在這個工作罰款和丹迪,如果我只有ONE選擇的選項,一旦我申請多個選項客戶屬性我會在管理網格中得到一個空白結果,但它仍然是可搜索的。
仔細看看print($collection->getSelectSql());
取消註釋我看到屬性ID值在逗號分隔列表中返回。
現在我的問題與該背景奠定了,有沒有一種方法或「Magento」的方式來顯示管理網格內的這些多選項,我只是不知道?或者,我是否需要簡單地獲取逗號值爆炸並呼叫新的集合來構建顯示值?任何幫助感謝!
好吧看來我需要擴展的選項渲染器管理部件電網。有趣的是,最模糊的答案是最有幫助的。 http://www.magentocommerce.com/boards/port.php/viewthread/25566/#t84377 – B00MER 2011-05-27 21:16:13