在自定义模块管理表单中添加产品网格

时间:2013-10-23 07:33:00

标签: magento tabs grid product

我在magento中创建了自定义模块。它的工作性很好。但现在我的问题是,我想将产品网格添加到我的产品列表标签中。我已经通过this link找到了解决方案。我创建了新标签。但是当我加载该标签时,它显示我的错误,如< / p>

致命错误:在第64行的/home/trendyc/public_html/app/code/community/Whole/Cate/controllers/Adminhtml/WhcatalogController.php中的非对象上调用成员函数setProdlist()

Mycontroller文件的productsAction代码在这里

$this->getLayout()->getBlock('products.grid')
            ->setProdlist($this->getRequest()->getPost('products_prodlist', null));

我想,我需要对布局文件进行一些修改。但我无法在布局.xml文件中得到需要做的修改。我希望你能理解我的问题。请帮帮我们!

2 个答案:

答案 0 :(得分:0)

你可以在cms页面上使用它:

{{block type="catalog/product_list" name="home.catalog.product.list" alias="products_homepage" template="catalog/product/list.phtml"}}

或在phtml中使用它来显示产品:

$this->getLayout() ->getBlockSingleton('ccatalog/product_list')->setTemplate('catalog/product/list.phtml')->toHtml();

答案 1 :(得分:0)

您应该为您的分机创建xml,例如。 design / adminhtml / default / default / layout / my_ext.xml并描述你的block product.list

<ext_adminhtml_item_products>
    <block type="core/text_list" name="root" output="toHtml">
        <block type="ext/adminhtml_item_edit_tab_products" name="products.grid"/>
        <block type="adminhtml/widget_grid_serializer" name="products_grid_serializer">
            <reference name="products_grid_serializer">
                <action method="initSerializerBlock">
                    <grid_block_name>products.grid</grid_block_name>
                    <data_callback>getSelectedProducts</data_callback>
                    <hidden_input_name>links[prodlist]</hidden_input_name>
                    <reload_param_name>products_prodlist</reload_param_name>
                </action>
             </reference>
        </block>
    </block>
</ext_adminhtml_item_products>