0

我在 magento 中创建了自定义模块。它的工作很好。但是现在我的问题是,我想将产品网格添加到我的产品列表选项卡中。我通过此链接找到了解决方案。我创建了新选项卡。但是当我加载该选项卡时,它向我显示了一个错误,例如

致命错误:在第 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 文件中得到需要做的修改。我希望你能理解我的问题。请帮帮我!

4

2 回答 2

0

您应该为您的扩展创建 xml,例如。design/adminhtml/default/default/layout/my_ext.xml 并描述您的块 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>
于 2013-11-28T13:01:13.740 回答
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();

于 2013-10-23T09:14:39.377 回答