
Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn
由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解
本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!
开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号
如果您登录系统碰到问题,请在微信公众号留言:
odoo中如何使用js获取当前登入用户的信息?
-
odoo首次进来不都需要账号登入的么,那要怎么样才能使用js获取到当前登入用户的信息,比如说获取当前用户的id,要具体怎么做呢?
-
odoo 框架在js端封装了 session,
web/static/src/js/framework/session.js
当前用户id的话,session.uid
例如 user_menu.js:
odoo.define('web.UserMenu', function (require) {
"use strict";var core = require('web.core');
var Dialog = require('web.Dialog');
var framework = require('web.framework');
var Model = require('web.DataModel');
var session = require('web.session');
var Widget = require('web.Widget');var _t = core._t;
var QWeb = core.qweb;var UserMenu = Widget.extend({
template: "UserMenu",
init: function(parent) {
this.super(parent);
this.update_promise = $.Deferred().resolve();
},
start: function() {
var self = this;
this.$el.on('click', '.dropdown-menu li a[data-menu]', function(ev) {
ev.preventDefault();
var f = self['on_menu' + $(this).data('menu')];
if (f) {
f($(this));
}
});
this.$el.parent().show();
return this._super.apply(this, arguments);
},
do_update: function () {
var self = this;
var fct = function() {
var $avatar = self.$el.find('.oe_topbar_avatar');
$avatar.attr('src', $avatar.data('default-src'));
if (!session.uid)
return; -
非常感谢,我下午已经找到了。
var session = require('web.session');
然后在session中可以获取当前登入用户的信息。
但现在就是还有一个问题,我现在在这个js文件中已经获取到了当前用户的值,我要怎么传到我自定义的html页面中,或是传到template里面嵌入html页面中?
我试过了把上面获取到的session的js文件引入到html页面中,会报错误,引用不上,不知道有没有其他方式?希望能给与到帮助。 -
@鲍永道 这个你最好找做odoo二次开发的咨询,这个不是简单几句能讲清楚的,设计到odoo js的框架,和你的html是如何写的
-
嗯嗯,谢谢建议。你好,那在哪里找到odoo二次开发的咨询呢?
-
-
好的,谢谢。我联系他。
-
查jinja2模板相关资料就成。
或者直接在js中用jquery给dom赋值,你另一个问题中我有示例代码 -
@guohuadengchina 你好,能都给出具体实例代码,我好查看学习。