我们有一个包含背景图片的组件。我们的前端人员需要通过 CSS 加载它(即 background: url(/*path here*/)...
)。以下是我们想出的一个可能的解决方案:
@string src = // Get image path from Sitecore().Field("Picture");
<div style="background: url(@src) left top no-repeat;"> ... </div>
但是,这种方法有两个问题:
- 这使得内容编辑器很难换出图像。他们将不得不通过
edit item
手动更改它。 - 这感觉像是一种 hack/workaround。
所以问题如下:有没有办法通过Razor/Sitecore编辑元素的CSS?具体来说,background:
字段。
最佳答案
我有一个类似的案例,我用过:
<footer class="layout_footer" style="background-color: @Model.BackgroundColor">
on view rendering (cshtml file)
在模型上我们有:
public string BackgroundColor
{
get
{
Sitecore.Data.Fields.ImageField imgField =((Sitecore.Data.Fields.ImageField)item.Fields["BackgroundImage"]);
return Sitecore.Resources.Media.MediaManager.GetMediaUrl(imgField.MediaItem);
}
}
要在页面编辑器中编辑此字段,您可以通过以下命令使用 Sitecore 字段编辑器:http://blog.istern.dk/2012/05/21/running-sitecore-field-editor-from-a-command/
关于html - 使用 Razor/Sitecore 编辑 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33093726/