自己的页面/模板不会产生page_name

时间:2019-06-25 12:36:10

标签: odoo breadcrumbs portal odoo-12

我正在尝试向门户网站页面添加面包屑条目。我尝试从销售模块复制。在此模块内部,有一个模板,用于添加新的面包屑条目:

    <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属性。如何将其添加到模板中? 库存门户页面的首页,订单或发票都使用page_name,但是在库存模板中找不到。

1 个答案:

答案 0 :(得分:1)

在调用render函数时或在模板内部使用t-set或同时在两者中添加变量设置。

在您的特定情况下,page_name被分配到portal_my_quotes内部(请参阅<path_to_v12>/addons/sale/controllers/portal.py第39-90行。请参见下面的摘录。)这是路由{{1}的控制器}

/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) 的文档可以在https://www.odoo.com/documentation/12.0/reference/qweb.html#setting-variables

中找到