0

我不明白存储关键字和网址的位置。例如在模块网站中存在类 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),

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

 @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']

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

4

1 回答 1

0

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

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

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

return http.request.render(_your_template_, {
            'page_data': page_data,
            'main_object': _object_
        })
于 2017-07-21T13:36:33.240 回答