如何解决错误 对成员函数的调用是非对象上的 isReadonly()



我正在尝试在管理面板的自定义页面上显示产品网格。产品网格工作正常。这是代码:

<sliders_adminhtml_sliders_index>
        <update handle="sliders_myform_index"/>
        <reference name="content">
            <block type="adminhtml/catalog_product_grid" name="sliders" />
        </reference>
    </sliders_adminhtml_sliders_index>

但是当我想编辑产品时,我收到错误"在非对象上调用成员函数是只读()"

以下是我尝试创建编辑页面的方式:

<sliders_adminhtml_sliders_edit>
    <update handle="editor"/>
    <reference name="content">
        <block type="adminhtml/catalog_product_edit" name="product_edit"></block>
    </reference>
    <reference name="left">
        <block type="adminhtml/store_switcher" name="store_switcher" before="-"></block>
        <block type="adminhtml/catalog_product_edit_tabs" name="product_tabs"></block>
    </reference>
    <reference name="js">
        <block type="adminhtml/catalog_product_edit_js" template="catalog/product/js.phtml" name="catalog_product_js"></block>
        <block type="core/template" name="catalog.wysiwyg.js" template="catalog/wysiwyg/js.phtml"/>
    </reference>
</sliders_adminhtml_sliders_edit>

此错误出现的位置不足。

通常,产品编辑布局的代码如下所示:

<adminhtml_catalog_product_edit>
    <update handle="editor"/>
    <reference name="content">
        <block type="adminhtml/catalog_product_edit" name="product_edit"></block>
    </reference>
    <reference name="left">
        <block type="adminhtml/store_switcher" name="store_switcher" before="-"></block>
        <block type="adminhtml/catalog_product_edit_tabs" name="product_tabs"></block>
    </reference>
    <reference name="js">
        <block type="adminhtml/catalog_product_edit_js" template="catalog/product/js.phtml" name="catalog_product_js"></block>
        <block type="core/template" name="catalog.wysiwyg.js" template="catalog/wysiwyg/js.phtml"/>
    </reference>
</adminhtml_catalog_product_edit>

所以我建议先添加<update handle="editor"/>。也许对left中对象的某些引用导致了该错误(您需要尝试或提供更多信息)。

而且我相信您也需要添加js部分。

最新更新