如何在2sxc应用程序的详细信息视图中显示第二种语言?

问题描述

我有一个多语言DNN和一个定制的多语言2sxc应用程序,用于列出职业。该网站和应用程序使用英语和法语。

该应用程序具有列表模板和详细信息模板。当某人登陆页面时,它会在网格中显示职业列表。每个职业都有很多领域,但是要知道的重要一点是,它有一个标题一个简单的文本字符串)和一个URL(URL部分字段)。

列表页面上,我有一个指向每个详细信息视图的链接,如下所示:

<a href="@(Dnn.Tab.FullUrl + "/" + @App.Resources.CareerLabel.ToLower() + "/" + career.urlkey)">

用户单击此链接,然后将他们带到如下所示的URL: / zh-CN /学生/思考/职业/兽医

“ / career /”部分是一个查询字符串,我设置了一个简单的可视查询,以便详细信息视图对此进行过滤。这是一个用于列表和详细信息的非常标准的设置。

enter image description here

我希望能够将这篇文章也翻译成法语,包括URL,所以当我翻译它时,它应该看起来像这样:

/ fr-ca / eleves / pense / career / veterinaire

我遇到的问题是:我创建了我的英文文章。但是当我将文章翻译成法语(包括URL字段)时,文章似乎没有显示

在_details.cshtml模板中,我有

@if (Content != null) { //show the details } else { // the career can't be found }

由于某种原因,当我去法语时,我在列表中单击职业,网址显示为/ fr-ca / eleves / pense / career / veterinaire,但详细信息视图显示“职业不能找到”作为详细信息模板的一部分,好像内容为空。

解决方法

在这方面已经取得了一些进展,也许答案已经过时了……

  1. 以前,ValueFilter仅尊重主要语言,因此您不能使用第二语言的url键
  2. 现在已将其添加为功能-ValueFilter的设置现在也可以选择将当前语言考虑在内。参见https://github.com/2sic/2sxc/issues/2244