无法找到客户端操作(openERP 8 / Odoo)

时间:2014-06-03 10:35:44

标签: module openerp openerp-8

我试图遵循构建网络模块的指南:https://doc.openerp.com/trunk/web/module/

我根据指南创建了以下文件:

// static/src/js/first_module.js
openerp.web_example = function (instance) {
    instance.web.client_actions.add('example.action', 'instance.web_example.action');
    instance.web_example.action = function (parent, action) {
        console.log("Executed the action", action);
    };
};

OpenERP的的.py

# __openerp__.py
{
    'name': "Web Example",
    'description': "Basic example of a (future) web module",
    'category': 'Hidden',
    'depends': ['web'],
    'data': ['web_example.xml'],
    'js': ['static/src/js/first_module.js'],
}

web_example.xml

<!-- web_example/web_example.xml -->
<openerp>
    <data>
        <record model="ir.actions.client" id="action_client_example">
            <field name="name">Example Client Action</field>
            <field name="tag">example.action</field>
        </record>
        <menuitem action="action_client_example"
                  id="menu_client_example"/>
    </data>
</openerp>

init .py为空。

现在&#34;示例客户端操作&#34;链接显示在管理面板的顶部栏中,就像它应该的那样但是当我点击它时,我收到一条通知说“#34;无法找到客户端操作example.action&#34;

我几次检查了我的代码,以确保它与指南相似。我只是对一些小错误视而不见,是否有误解或可能是什么问题? init .py文件中应该有什么内容吗?如果是,那又怎样?

3 个答案:

答案 0 :(得分:4)

在v8中添加静态文件与v7不同。 您必须在视图中定义静态文件,您可以在其中继承核心视图。 1.在模块文件夹中创建文件夹命名视图 2.在名为:you_module_name.xml的文件中创建 3.在 openerp.py 中添加:&#39;数据&#39;:[&#39; views / you_module_name.xml&#39;] 4.在you_module_name.xml中添加:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
    <template id="assets_backend" name="you_module_name assets" inherit_id="web.assets_backend">
        <xpath expr="." position="inside">
            <link rel="stylesheet" href="/you_module_name/static/src/css/you_module_name.css"/>
            <script type="text/javascript" src="/you_module_name/static/src/js/you_module_name.js"></script>
        </xpath>
    </template>
</data>

答案 1 :(得分:3)

如果您找不到任何方法,请按照以下步骤操作OpenERP8 / odoo。 以下添加内容包含在web_example模块中。

web_example

└──观点

  └──document.xml

document.xml下面添加包含。

<data>
    <template id="web_example_assets_backend" name="web_example assets" inherit_id="web.assets_backend">`enter code here`
        <xpath expr="." position="inside">
            <script type="text/javascript" src="/web_example/static/src/js/first_module.js"></script>
        </xpath>
    </template>
</data>

现在,修改 openerp .py

OpenERP的的.py

{

'name': "Web Example",
'description': "Basic example of a (future) web module",
'category': 'Hidden',
'depends': ['web'],
'data': ['web_example.xml','views/document.xml'],

}

多数民众赞成。 现在,您的js文件已加载到v8/odoo。 :)

您可以在css

中添加document.xml文件

谢谢。

答案 2 :(得分:0)

我正在迈出第一步,开始使用Web客户端,并且昨天尝试了本教程。所以我不确定我的答案是否正确,但是,你的模块“web_example”的名称是什么?如果没有,您应该使用js文件中的模块名称对其进行实例化。 (它正在为我工​​作并完成了教程并使计时器工作)。

祝你好运!