按语言在 Djanjo CMS 2.4 管理中添加额外字段

Add extra field in Djanjo CMS 2.4 admin by language

我正在向我的 CMS 页面模型添加一个 string-type 额外字段,如果此额外字段不为空,将替换页面的默认字段标题 其内容:

class MyPage(models.Model):
page = models.ForeignKey(Page, unique=True, verbose_name=_("Page"),
    editable=False, related_name='extended_fields')
extra_page_title = models.CharField(max_length=100, null=True, blank=True)

extra_page_title具有将替换 cms 默认标题页的标题(字符串),该标题来自 request.current_page.page_title

我的问题是,当我将新标题保存在extra_page_title 变量中时,它确实有效并替换了默认标题,但它替换了所有可用语言的默认标题。

如何使用CMS页面模型区分语言并根据语言保存标题?

你要的是TitleExtension,见the documentation

我想要一个额外的标题来替换我在上面的问题中解释的原始菜单标题。 TitleExtension 文档。由于 Django CMS 版本的原因,我没有成功。

查看 Django CMS 2.4.0 documentation 我发现了一个自动启用此功能的设置脚本。

CMS_MENU_TITLE_OVERWRITE = True

将此添加到 settings.py 文件会在 Django 管理中添加一个空字段,我可以在其中为每种语言写入任何名称到我的 menu/section站点有,并且正确替换了字段名称。