同一文档中的不同内容
Different content within the same Document
我正在使用 Umbraco 和 VS 2017 开发应用程序。对于某种文档类型,仅其一小部分内容就有很多变化。我不想做的是为每个变体创建很多不同的文档。是否有可能以某种方式只有一个文档和 change dynamically only a part of it
?如果是,如何?
那么,怎么可能调用例如@Umbraco.Field("body")
使用一些参数 (which should define the desired variation
) 并且每次都获得正确的内容?
不太清楚你想要达到什么目的,但是如果你可以在正文内容中放置一个特殊的标记字段(比如 {{UNIQUE_BIT_HERE}} )(或者有一个特定的 html tag/attribute 你可以找到并替换)然后很容易 - 只需使用标准的 c# 字符串操作。
我假设您的字段 "body" 是富文本字段,如果是这样,它需要从 HtmlString 类型转换为标准字符串,然后再转换回来。
@{
var uniqueData = "Whatever";
var bodyString = Umbraco.Field("body").ToString();
var bodyReplaced = new HtmlString(bodyString.Replace("{{UNIQUE_BIT_HERE}}", uniqueData));
}
<div>
@bodyReplaced
</div>
顺便说一句,我建议您放弃 Umbraco.Field 并使用强类型 Model.Content,或者更好的是,使用模型构建器 Umbraco 的东西,但这会起作用。
我相信段和变体是 Umbraco 在 V8 中更好地支持的东西。你也许可以使用一个名为 Vorto 的包
https://our.umbraco.org/projects/backoffice-extensions/vorto
Vorto 是一个 属性 编辑器,您可以用它包装任何其他 属性 编辑器。它允许您对不同的语言具有不同的值。然后,在运行时,您可以显示所需的本地化版本。您也许可以使用 Vorto 或类似的方法。这看起来有帮助吗?如果没有,您能否举例说明您正在尝试做什么?
我正在使用 Umbraco 和 VS 2017 开发应用程序。对于某种文档类型,仅其一小部分内容就有很多变化。我不想做的是为每个变体创建很多不同的文档。是否有可能以某种方式只有一个文档和 change dynamically only a part of it
?如果是,如何?
那么,怎么可能调用例如@Umbraco.Field("body")
使用一些参数 (which should define the desired variation
) 并且每次都获得正确的内容?
不太清楚你想要达到什么目的,但是如果你可以在正文内容中放置一个特殊的标记字段(比如 {{UNIQUE_BIT_HERE}} )(或者有一个特定的 html tag/attribute 你可以找到并替换)然后很容易 - 只需使用标准的 c# 字符串操作。
我假设您的字段 "body" 是富文本字段,如果是这样,它需要从 HtmlString 类型转换为标准字符串,然后再转换回来。
@{
var uniqueData = "Whatever";
var bodyString = Umbraco.Field("body").ToString();
var bodyReplaced = new HtmlString(bodyString.Replace("{{UNIQUE_BIT_HERE}}", uniqueData));
}
<div>
@bodyReplaced
</div>
顺便说一句,我建议您放弃 Umbraco.Field 并使用强类型 Model.Content,或者更好的是,使用模型构建器 Umbraco 的东西,但这会起作用。
我相信段和变体是 Umbraco 在 V8 中更好地支持的东西。你也许可以使用一个名为 Vorto 的包 https://our.umbraco.org/projects/backoffice-extensions/vorto
Vorto 是一个 属性 编辑器,您可以用它包装任何其他 属性 编辑器。它允许您对不同的语言具有不同的值。然后,在运行时,您可以显示所需的本地化版本。您也许可以使用 Vorto 或类似的方法。这看起来有帮助吗?如果没有,您能否举例说明您正在尝试做什么?