Моя цель проста. У меня есть модуль под названием «Котировки», мне удалось заставить Magento создать новую запись цитаты каждый раз, когда создается корзина, изменив столбец is_active, когда цитата «вышла». Поэтому у меня есть куча цитат, связанных с клиентом, и у меня есть строки продаж/order_item, каждая из которых связана с цитатой. У меня есть страница в бэкэнд, которая отображает сетку всех кавычек. Когда клика нажата, на странице редактирования есть две вкладки: одна с Form.php, отображающая детали цитаты. (имя клиента, дата и т. д.), то у меня есть еще одна вкладка, которая должна содержать сетку всех элементов этой цитаты. Кажется, так просто:Magento Adminhtml Сетка с использованием коллекции sales/order_item, отфильтрованной клиентом
$this->addTab("items_section", array(
"label" => Mage::helper("quote")->__("Quote Items"),
"title" => Mage::helper("quote")->__("Quote Items"),
"content" => $this->getLayout()->createBlock("quote/adminhtml_quotes_edit_tab_cart")->toHtml(),
));
Тогда в моей корзине блоке у меня есть это:
protected function _prepareCollection()
{
$collection = Mage::getModel('sales/order_item')->getCollection();
print_r($collection);
$this->setCollection($collection);
return parent::_prepareCollection();
}
Я даже не заинтересован в загрузке правильного сбора (по order_id), потому что есть проблема ро быть сначала решается здесь: Оператор print_r
показывает набор, который я указал, но передавая его в $ this-> setCollection ($ collection), дает мне «Нет записей», отображаемых в сетке. В типичном способе Magento ошибок нет. Я понимаю, что модель должна запрашивать базу данных по мере необходимости, но это, похоже, не происходит. Полагаю, что пришло время читать файлы Mage :: core, но вы можете себе представить, что мое разочарование в такой простой задаче настолько сложно, поэтому я был бы признателен, если кто-то, кто знает, что здесь происходит, может мне помочь. Заранее спасибо.
Это отличная идея, кстати – Dan