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

How to put a menu Icon in 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. Link 带有插件的文件。这是文件 ''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. 将新文件放入新插件中。这是文件“openerp.py”的一部分:

    {
    ...
    '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. 放置菜单容器。这是文件 ''static/src/xml/attendance.xml":

    <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>
    

在原来的插件(hr_attendance)中有一个将图标推送到菜单的功能(我认为)。

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

SystrayMenu.Items.push(AttendanceSlider);

就这些了。

不知道是不是漏了什么。图标的代码出现在html,但是有'style="display: none"'

编辑: 如果我更改 css 文件,将 属性 "display: block !important" 放在菜单中,则该图标会出现在菜单中,但该修复不是正确的解决方案。

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

这些是新用户的步骤:

  1. 以管理员身份登录

  2. 员工 > 员工 > 创建按钮(填写姓名)

  3. Select "HR Settings" 选项卡 > 相关用户 -> 创建和编辑(填写姓名和电子邮件)。

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

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

  6. 设置 > 用户 > Select 新创建的用户 > 编辑 > 标记选项 "Attendances"

  7. 保存用户。

现在,图标出现了。