在 Sitecore 中使用占位符渲染问题体验编辑器输入
Experience Editor input with placeholder rendering issue in Sitecore
在 Sitecore Experience Editor 中输入 DOM 带占位符时会出现此问题,有人知道如何解决吗?
<div class="form-group">
<input class="form-control" placeholder="@Html.Sitecore().Field("Placeholder_Test")" value="123" />
</div>
谢谢
当 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)
在 Sitecore Experience Editor 中输入 DOM 带占位符时会出现此问题,有人知道如何解决吗?
<div class="form-group">
<input class="form-control" placeholder="@Html.Sitecore().Field("Placeholder_Test")" value="123" />
</div>
谢谢
当 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)