我正在开发一个使用 Umbraco和VS 2017 的应用程序。对于某种文档类型,其内容的一小部分内容会有很多变化。我不想做的是为每个变体创建许多不同的文档。是否有可能只有一个文档和change dynamically only a part of it
?如果是,如何?
然后,如何调用例如@Umbraco.Field("body")
带有一些参数(which should define the desired variation
)并且每次都有正确的内容?
答案 0 :(得分:1)
目前还不是很清楚你想要实现的目标,但是如果你可以在正文内容中添加一个特殊的标记字段(比如说{{UNIQUE_BIT_HERE}})(或者有一个特定的html标记/属性,你可以找到并替换它)然后它很容易 - 只需使用标准的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的东西,但这将工作。
答案 1 :(得分:0)
我相信umbraco在V8中会更好地支持细分和变化。您可以使用名为Vorto的软件包 https://our.umbraco.org/projects/backoffice-extensions/vorto
Vorto是一个属性编辑器,您可以使用其他任何属性编辑器。它允许您为不同的语言使用不同的值。然后,在运行时,您可以显示所需的本地化版本。您可以使用Vorto或类似的方法。这看起来有用吗?如果没有,你能给我们更多关于你想做什么的例子吗?