odoo 8 多页面导航控制器
odoo 8 multiple page navigation controller
我在 odoo 8 中创建了一个模块。模块的目的是创建一个带有 link 的页面到另一个页面。我的意思是首先呈现主模板,然后有一个 link 到子页面。一切正常,直到主页。我有 controllers.py、models.py、观看次数 (default.xml)。在我的 openerp.py 中 'data' 的值:'views/default.xml'。
控制器是:
@http.route('/test/', auth='public')
def index(self, **kw):
return http.request.render('test.main',{ 'root':'/test' })
@http.route('/test/sub', auth='public')
def sub(self, **kw):
return http.request.render('test.sub',{ 'root':'/test' })
在我的模板中,你有两个 id(即 main 和 sub)
<openerp>
<data>
<template id='main'>
<div class='body'>
test body
click to go to next page : <a t-attr-href = "#{ root }/sub">Next Page</a>
</div>
<div class='footer'>
test footer
</div>
</template>
<template id='sub' inherit_id="main">
<xpath expr="//div[@class='body']" position="replace">
<div class="page">
replaced data
</div>
</xpath>
</template>
</data>
</openerp>
现在,当我 运行 这段代码时,我看到主页已经被替换,而不是 link。主体被默认替换。
但我希望在单击子页面的 link 时替换正文。
我是odoo新手,对它一无所知
Xpath do it work just after the updation of module( not at the
time of rending the template )
在那种情况下就用t-if,喜欢:
< t t-if ="not show_tab"> // original data </t>
< t t-if ="show_tab"> // replaced data </t>
从您的控制器渲染 keyword:show_tab
。
还有一点,这是我个人的建议,不要为了替换一个选项卡而创建两个控制器。
A single controller can handle multiple
route in odoo .Please try to follow the concept of DRY.
我在 odoo 8 中创建了一个模块。模块的目的是创建一个带有 link 的页面到另一个页面。我的意思是首先呈现主模板,然后有一个 link 到子页面。一切正常,直到主页。我有 controllers.py、models.py、观看次数 (default.xml)。在我的 openerp.py 中 'data' 的值:'views/default.xml'。 控制器是:
@http.route('/test/', auth='public')
def index(self, **kw):
return http.request.render('test.main',{ 'root':'/test' })
@http.route('/test/sub', auth='public')
def sub(self, **kw):
return http.request.render('test.sub',{ 'root':'/test' })
在我的模板中,你有两个 id(即 main 和 sub)
<openerp>
<data>
<template id='main'>
<div class='body'>
test body
click to go to next page : <a t-attr-href = "#{ root }/sub">Next Page</a>
</div>
<div class='footer'>
test footer
</div>
</template>
<template id='sub' inherit_id="main">
<xpath expr="//div[@class='body']" position="replace">
<div class="page">
replaced data
</div>
</xpath>
</template>
</data>
</openerp>
现在,当我 运行 这段代码时,我看到主页已经被替换,而不是 link。主体被默认替换。 但我希望在单击子页面的 link 时替换正文。
我是odoo新手,对它一无所知
Xpath do it work just after the updation of module( not at the time of rending the template )
在那种情况下就用t-if,喜欢:
< t t-if ="not show_tab"> // original data </t>
< t t-if ="show_tab"> // replaced data </t>
从您的控制器渲染 keyword:show_tab
。
还有一点,这是我个人的建议,不要为了替换一个选项卡而创建两个控制器。
A single controller can handle multiple route in odoo .Please try to follow the concept of DRY.