odoo 在哪里存储关键字和 url

Where is odoo stored keywords and urls

我无法理解存储关键字和 url 的位置。 例如,在模块网站中存在 class website_seo_metadata。它有这样的列:

'website_meta_title': fields.char("Website meta title", translate=True),
'website_meta_description': fields.text("Website meta description", translate=True),
'website_meta_keywords': fields.char("Website meta keywords", translate=True),

当我为数据库中不存在的页面记录添加一些关键字时。 我不明白页面的 urls 存储在哪里。我知道,如果我创建路线:

 @http.route('/contacts/', type='http', auth="public", website=True)

此路径已添加到 sitemap.xml 对于生成 sitemap.xml 使用的 sitemap_xml_index 方法:

@http.route('/sitemap.xml', type='http', auth="public", website=True)
    def sitemap_xml_index(self):
        current_website = request.website
        cr, uid, context = request.cr, openerp.SUPERUSER_ID, request.context
        ira = request.registry['ir.attachment']
        iuv = request.registry['ir.ui.view']

但此表中没有任何一个 url。我不明白它是如何为所有页面生成路径的。数据存储在哪里? 我写了自己的模块,但 sitemap.xml 中没有它的页面,关键字也没有正确保存和显示。 我尝试扩展我的模型,例如:

class pr_info_pages(models.Model):
    _name = 'pr_filials.pr_info_pages'
    _inherit = ['mail.thread', 'website.seo.metadata', 'website.published.mixin']

但没有任何改变... 如何将我的 url 添加到站点地图并正常存储关键字?

您需要在模型中使用的关键字:

_inherit = ['mail.thread', 'website.seo.metadata']

此外,当您生成页面数据时,您需要将其放入页面 'main_object'。这是包含模型对象的字典元素。例如:

return http.request.render(_your_template_, {
            'page_data': page_data,
            'main_object': _object_
        })