拥有 pages/templates 不生成 page_name
own pages/templates don't genereate page_name
我正在尝试向门户页面添加面包屑条目。我尝试从销售模块复制。在这个模块中有这个模板可以添加新的面包屑条目:
<template id="portal_my_home_menu_sale" name="Portal layout : sales menu entries" inherit_id="portal.portal_breadcrumbs" priority="20">
<xpath expr="//ol[hasclass('o_portal_submenu')]" position="inside">
<li t-if="page_name == 'quote' or sale_order and sale_order.state in ('sent', 'cancel')" t-attf-class="breadcrumb-item #{'active ' if not sale_order else ''}">
<a t-if="sale_order" t-attf-href="/my/quotes?{{ keep_query() }}">Quotations</a>
<t t-else="">Quotations</t>
</li>
<li t-if="page_name == 'order' or sale_order and sale_order.state not in ('sent', 'cancel')" t-attf-class="breadcrumb-item #{'active ' if not sale_order else ''}">
<a t-if="sale_order" t-attf-href="/my/orders?{{ keep_query() }}">Sales Orders</a>
<t t-else="">Sales Orders</t>
</li>
<li t-if="sale_order" class="breadcrumb-item active">
<span t-field="sale_order.type_name"/>
<t t-esc="sale_order.name"/>
</li>
</xpath>
</template>
我创建的模板没有 page_name 属性。如何将其添加到我的模板中?
Stock 门户页面有主页、订单或发票 page_name,但我在 Stock 模板中找不到。
变量设置在调用 render
函数时或在模板中使用 t-set
时添加,或两者都添加。
在您的特定情况下,page_name
在 portal_my_quotes
内部分配(请参阅 <path_to_v12>/addons/sale/controllers/portal.py
第 39-90 行。请参阅下面的摘录。)这是路线的控制器 /my/quotes
@http.route(['/my/quotes', '/my/quotes/page/<int:page>'], type='http', auth="user", website=True)
def portal_my_quotes(self, page=1, date_begin=None, date_end=None, sortby=None, **kw):
values = self._prepare_portal_layout_values()
...
values.update({
'date': date_begin,
'quotations': quotations.sudo(),
'page_name': 'quote',
'pager': pager,
'archive_groups': archive_groups,
'default_url': '/my/quotes',
'searchbar_sortings': searchbar_sortings,
'sortby': sortby,
})
return request.render("sale.portal_my_quotations", values)
有关 t-set
使用的文档可以在 https://www.odoo.com/documentation/12.0/reference/qweb.html#setting-variables
找到
我正在尝试向门户页面添加面包屑条目。我尝试从销售模块复制。在这个模块中有这个模板可以添加新的面包屑条目:
<template id="portal_my_home_menu_sale" name="Portal layout : sales menu entries" inherit_id="portal.portal_breadcrumbs" priority="20">
<xpath expr="//ol[hasclass('o_portal_submenu')]" position="inside">
<li t-if="page_name == 'quote' or sale_order and sale_order.state in ('sent', 'cancel')" t-attf-class="breadcrumb-item #{'active ' if not sale_order else ''}">
<a t-if="sale_order" t-attf-href="/my/quotes?{{ keep_query() }}">Quotations</a>
<t t-else="">Quotations</t>
</li>
<li t-if="page_name == 'order' or sale_order and sale_order.state not in ('sent', 'cancel')" t-attf-class="breadcrumb-item #{'active ' if not sale_order else ''}">
<a t-if="sale_order" t-attf-href="/my/orders?{{ keep_query() }}">Sales Orders</a>
<t t-else="">Sales Orders</t>
</li>
<li t-if="sale_order" class="breadcrumb-item active">
<span t-field="sale_order.type_name"/>
<t t-esc="sale_order.name"/>
</li>
</xpath>
</template>
我创建的模板没有 page_name 属性。如何将其添加到我的模板中? Stock 门户页面有主页、订单或发票 page_name,但我在 Stock 模板中找不到。
变量设置在调用 render
函数时或在模板中使用 t-set
时添加,或两者都添加。
在您的特定情况下,page_name
在 portal_my_quotes
内部分配(请参阅 <path_to_v12>/addons/sale/controllers/portal.py
第 39-90 行。请参阅下面的摘录。)这是路线的控制器 /my/quotes
@http.route(['/my/quotes', '/my/quotes/page/<int:page>'], type='http', auth="user", website=True)
def portal_my_quotes(self, page=1, date_begin=None, date_end=None, sortby=None, **kw):
values = self._prepare_portal_layout_values()
...
values.update({
'date': date_begin,
'quotations': quotations.sudo(),
'page_name': 'quote',
'pager': pager,
'archive_groups': archive_groups,
'default_url': '/my/quotes',
'searchbar_sortings': searchbar_sortings,
'sortby': sortby,
})
return request.render("sale.portal_my_quotations", values)
有关 t-set
使用的文档可以在 https://www.odoo.com/documentation/12.0/reference/qweb.html#setting-variables