如何在odoo 9中放置菜单图标?

时间:2016-08-22 10:58:00

标签: menuitem odoo-9

我想在odoo 9中为hr_attendance插件添加一个菜单图标。

我将解释我已经完成的步骤:

  1. 创建hr_attendance_extend并将其放入addon_extra

  2. 导入原始插件。这是" init .py":

    import hr_attendance
    
  3. 创建css并放置图标。这是文件的一部分" static / src / css / slider.css":

    ...     
    .oe_systray .oe_attendance_signout {        
        float:right;        
        height: 32px;       
        width: 32px;        
        background: url(/hr_attendance_extend/static/src/img/emp-in32.png);     
        cursor: pointer;        
    }       
    ...
    
  4. 将文件与插件链接。这是文件' views / hr_attendance.xml":

        <?xml version="1.0" encoding="utf-8"?>
        <openerp>
            <data>
                <template id="assets_backend" name="hr_attendance assets" inherit_id="web.assets_backend">
                    <xpath expr="." position="inside">
                         <link rel="stylesheet" href="/hr_attendance_extend/static/src/css/slider.css"/>
                    </xpath>
                </template>
            </data>
        </openerp>
    
  5. 将新文件放入新插件中。这是文件的一部分&#34; openerp .py&#34;:

    {
    ...
    'depends': ['hr_attendance'],
        'data': [
            'hr_attendance.xml',
            'views/hr_attendance.xml',
        ],
        'demo': [],
        'test': [],
        'installable': True,
        'auto_install': False,
        #web 
        'qweb' : ["static/src/xml/attendance.xml"],
    }
    
  6. 放入菜单的容器。这是文件&#39;&#39; static / src / xml / attendance.xml&#34;:

    <template>
        <t t-name="AttendanceSlider">
        <li class="oe_attendance_status oe_attendance_nosigned" data-toggle="tooltip">
                  <div class="oe_attendance_signout"></div>
            </li>
        </t>
    </template>
    
  7. 在原始插件(hr_attendance)中有一个功能,它将图标推送到菜单(我认为)。

    文件中有static / src / js / attendance.js,这就是问题所在:

    SystrayMenu.Items.push(AttendanceSlider);
    

    这就是全部。

    我不知道我是否遗漏了什么。该图标的代码显示在html中,但有&#39; style =&#34; display:none&#34;&#39;

    修改: 如果我更改了属性&#34; display:block!important&#34;的css文件,则菜单中会出现图标,但该修复不是正确的解决方案。

1 个答案:

答案 0 :(得分:0)

我找到了另一个问题的解决方案,该问题与此处的解决方案相同。

以下是新用户的步骤:

  1. 以管理员身份登录

  2. 员工&gt;员工&gt;创建按钮(填写名称)

  3. 选择“HR设置”标签&gt;相关用户 - &gt;创建和编辑(填写姓名和电子邮件)。

  4. 保存用户并保存员工。

  5. 进入开发者模式(用户菜单&gt;关于&gt;激活开发者模式)

  6. 设置&gt;用户&gt;选择新创建的用户&gt;编辑&gt;标记选项“出勤”

  7. 保存用户。

  8. 现在,图标出现了。