当在Sitecore体验编辑器中使用占位符输入DOM时,是否有人知道如何解决此问题?
<div class="form-group">
<input class="form-control" placeholder="@Html.Sitecore().Field("Placeholder_Test")" value="123" />
</div>
由于
答案 0 :(得分:1)
当Sitecore在体验编辑器模式下呈现@Html.Sitecore().Field
时,它会在字段值周围添加额外的html布局,以允许内容作者编辑文本。
所以你生成的输出是这样的:
<input class="form-control" placeholder="<code attr="blah">aa</code><span>this is a text</span>" value="123" />
如您所见,这不是一个有效的HTML。这就是您在体验编辑器中看到错误输出的原因。
这意味着什么?您无法使用@Html.Sitecore().Field
在体验编辑器中编辑输入的属性。
最简单的解决方案是在那里呈现值,例如(如果需要,用您的数据源替换Sitecore.Context.Item
):
<input class="form-control" placeholder="@Sitecore.Context.Item["Placeholder_Test"]" value="123" />
并使用编辑框架来编辑占位符文本(https://www.google.com/search?q=sitecore+edit+frame)