Frage

Ich benutze Magento CE 1.7. Ich habe mehrere Geschäfte im Admin -Panel. Ich möchte die Sammlung aktivierter und deaktivierter Produkte im Administratorbereich erhalten, wenn ich neue Bestellungen erstellen kann. Wenn Sie auf die Schaltfläche "Produkte hinzufügen" klicken, sollte das Netz unter dem aktuellen Speicher alle Produkte (auch wenn sie abgelaufen, deaktiviert, außer Lager oder unabhängig vom Status sind). Wie kann ich diese Sammlung bekommen?

Bitte jede Hilfe wird geschätzt.

Bearbeiten: Überschreiben Sie die Blockklasse Mage_Adminhtml_Block_Sales_Order_Create_Search_Grid

Die folgende Funktion bearbeitet.

protected function _prepareCollection()
    {
   $currentStore = Mage::getSingleton('adminhtml/session_quote')->getStore();
    $collection = Mage::getModel('catalog/product')->getCollection();
$collection

            ->setStore($currentStore)
            ->addAttributeToSelect('name')
            ->addAttributeToSelect('sku')
            ->addAttributeToSelect('price')
            ->addAttributeToSelect('status')
            ->addAttributeToFilter('type_id', array_keys(
                Mage::getConfig()->getNode('adminhtml/sales/order/create/available_product_types')->asArray()
            ))
            ->addStoreFilter();
$this->setCollection($collection);
        Mage_Adminhtml_Block_Widget_Grid::_prepareCollection();
}
War es hilfreich?

Lösung

In der Methode Mage_Adminhtml_Block_Sales_Order_Create_Search_Grid::_prepareCollection Es gibt diese Linie, die nur in Lagerprodukten filtert:Mage::getSingleton('catalog/product_status')->addSaleableFilterToCollection($collection);
Das Ändern dies kann jedoch zu anderen Problemen führen, da es beispielsweise Überprüfungen gibt Mage_Adminhtml_Block_Sales_Order_Create_Items_Grid::getItems.
Aber es ist ein guter Ausgangspunkt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top