Không muốn thấy các sản phẩm bị vô hiệu hóa khi tạo đơn hàng từ cuối quản trị viên


7

Khi bạn nhấp vào một khách hàng trong "quản lý khách hàng" và sau đó "tạo đơn hàng", khách hàng của tôi không muốn thấy các sản phẩm bị vô hiệu hóa xuất hiện trong danh sách các sản phẩm để thêm vào đơn hàng. Bất cứ ý tưởng làm thế nào tôi sẽ đi về việc thay đổi điều này? Hoặc ít nhất là một số gợi ý vị trí tập tin, lol.

Tôi đang chỉnh sửa những lời khuyên dưới đây.

 protected function _prepareCollection()
    {
        $attributes = Mage::getSingleton('catalog/config')->getProductAttributes();
        /* @var $collection Mage_Catalog_Model_Resource_Product_Collection */
        $collection = Mage::getModel('catalog/product')->getCollection();
        $collection
            ->setStore($this->getStore())
            ->addAttributeToSelect($attributes)
            ->addAttributeToSelect('sku')
            ->addStoreFilter()
            ->addAttributeToFilter('type_id', array_keys(
                Mage::getConfig()->getNode('adminhtml/sales/order/create/available_product_types')->asArray()
            ))
            ->addAttributeToSelect('gift_message_available');
            ->addFieldToFilter('status', Mage_Catalog_Model_Product_Status::STATUS_ENABLED);
        Mage::getSingleton('catalog/product_status')->addSaleableFilterToCollection($collection);

        $this->setCollection($collection);
        return parent::_prepareCollection();
    }

Như bạn thấy tôi đã thêm ->addFieldToFilter('status', Mage_Catalog_Model_Product_Status::STATUS_ENABLED);nhưng đang gặp lỗi sau:

Lỗi phân tích cú pháp: lỗi cú pháp, T_OBJECT_OPERATOR không mong muốn trong /home/ab71714/public_html/app/code/core/Mage/Adminhtml/Block/Sales/Order/Create/Search/Grid.php trên dòng 109


2
Đừng chỉnh sửa lõi. Nếu bạn phải, sao chép tệp và đường dẫn đầy đủ vào ứng dụng / mã / cục bộ.
philwinkle

Câu trả lời:


4

Lớp bạn đang tìm kiếm là: Mage_Adminhtml_Block_Sales_Order_Create_Search_Grid

Ghi đè _prepareCollection()và thêm bộ lọc vào $collectionnhư vậy:

$collection->addFieldToFilter('status', Mage_Catalog_Model_Product_Status::STATUS_ENABLED)

Điều này sẽ lọc tất cả các sản phẩm bị vô hiệu hóa và chỉ hiển thị những sản phẩm được kích hoạt. Đã thử nghiệm với CE 1.7

Hi vọng điêu nay co ich!


Tôi nhận được một lỗi. Xem ở trên. Cảm ơn rất nhiều vì sự giúp đỡ của bạn!
CaitlinHavener

Oh chờ đã, tôi thật là một hình nộm! nó phải đi sau Mage :: getSingleton ('catalog / sản phẩm_status'). Hoạt động ngay! Cảm ơn bạn!!!
CaitlinHavener
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.