0

我试图按照这个构建网络模块的指南: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);
    };
};

开放程序.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 为空。

现在“示例客户端操作”链接出现在管理面板的顶部栏中,就像它应该出现的那样,但是当我单击它时,我收到一条通知说“找不到客户端操作 example.action”

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

4

3 回答 3

4

在 v8 中添加静态文件与 v7 不同。您必须在继承核心视图的视图中定义静态文件。1.在模块文件夹中创建名为views的文件夹2.在其中创建名为:you_module_name.xml的文件3.在openerp.py中添加:'data':['views/you_module_name.xml'] 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>

于 2014-10-23T09:31:14.323 回答
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

开放程序.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

谢谢你。

于 2014-08-13T09:03:54.517 回答
0

我正在迈出构建 Web 客户端的第一步,昨天刚刚尝试了本教程。所以我不确定我的答案是否正确,但是,您的模块名称是“web_example”吗?如果没有,你应该在你的 js 文件中使用你的模块名称来实例化它。(它对我有用,通过教程并让计时器工作)。

祝你好运!

于 2014-06-04T08:36:01.947 回答