嘿,我有一个表单,所以我想在odoo中有一个google地图视图,特别是在HR模块中,我将有所有员工的地址,当我点击特定的视图时,它应该显示一些地图视图。
发布于 2015-12-23 12:09:12
您必须继承hr.employee并使用odoo方法,因为google_map在res.partner中。
喜欢,
class hr_employee(osv.osv):
_inherit = "hr.employee"
_columns = {
'map': fields.function(google_map_img, string='Map', type='text'),
}
def google_map_img(self, cr, uid, ids, name, args, context=None):
employee = self.browse(cr, uid, ids[0], context=context)
if employee.address_id:
map_img_url = self.browse(cr, SUPERUSER_ID, ids[0], context=context).address_id.google_map_img()
return {ids[0]: map_img_url}
return None这里有一个函数字段,它使用合作伙伴地址计算地图数据并返回一个map url。
使用thism字段,您可以使用<img t-att-src="map"/>轻松地在前端绘制地图。
但是,如果您想在后端窗体视图上呈现它,则必须创建一个小部件,该小部件使用生成的url.(widget="image")呈现图像。
在google_map_img()中,方法有额外的参数,如缩放、高度、宽度。根据你的需要改变。
这两种方法用于谷歌地图图像和地图链接。
def google_map_img(...)
pass
def google_map_link(...)
pass在addons/website/models/website.py中搜索此方法
如果使用此方法,则根据您的模块在website中添加__openerp__.py模块
https://stackoverflow.com/questions/34415906
复制相似问题