Tworzę raport giełdowy w panelu administracyjnym i mam wszystko, co do tej pory działa, z tym wyjątkiem, że nie mogę filtrować na połączonej kolumnie.Filtrowanie połączonej kolumny
Dołączyłem do informacji o akcjach, korzystając z poniższego, aby pobrać moją kolekcję.
$collection = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect('name')
->addAttributeToSelect('sku')
->addAttributeToSelect('price')
->setStoreId($storeId);
$collection->addFieldToFilter('type_id', 'simple');
// Add on the stock qty information
$collection->getSelect()->join(array('stock'=>'ccmg_cataloginventory_stock_item'), 'e.entity_id = stock.item_id', array('stock.qty'));
Powoduje wyświetlenie, ale nie można filtrować ani sortować kolumny. Zakładam, że opcje nie są przekazywane z powrotem do przyłączenia. Jednak pozostałe kolumny można sortować i filtrować, a pasujące dane są odciągane i wyświetlane.
Szukałem, ale większość postów znajduje się na forach Magento od 2008 roku i używam wersji 1.6! Wszelkie wskazówki byłyby świetne!
nie mogę sprawdzić, czy to działa, jak nie jestem praca nad tym projektem. –
Działa, ale ponieważ nie rozszerzałem Mage_Core_Model_Resource_Db_Collection_Abstract '_map ['fields']' było prywatne/chronione. addFilterToMap załatwił sprawę. '$ collection-> addFilterToMap ('ihe_name', 'ihe.name');' –
'' 'addFieldToMap''' w rzeczywistości jest poprawnym sposobem. '' '$ this -> _ map ['fields']' '' faktycznie nadpisuje wyjście z tablicy '' '_map''', więc staje się nieporęczne, jeśli mamy więcej niż jedną kolumnę do mapowania. – kiatng