我有一些来自umbraco的旧版本(版本6)的代码,允许用户选择音频文件,然后使用宏将html 5音频播放器插入页面。我已将其复制到版本7但它不起作用。我一直收到这个错误:
加载部分视图脚本时出错(文件:〜/ Views / MacroPartials / InsertAudio.cshtml)
代码:
@inherits umbraco.MacroEngines.DynamicNodeContext
@{
var controls = Parameter.controls;
var mp3Url = Library.NodeById(Parameter.mp3).Url;
string controlsTog = "";
if (controls == "1"){
controlsTog = "controls";
}
<audio @controlsTog>
<source src="@mp3Url" type="audio/mpeg" />
Your browser does not support the audio tag.
</audio>
}
答案 0 :(得分:0)
您必须将旧版剃刀宏转换为部分视图宏。以下是有关如何执行转换的基本指南: https://our.umbraco.org/documentation/reference/templating/macros/Partial-View-Macros/
我已对您的脚本文件进行了必要的更改,但这是未经测试的。我还假设您的MP3是媒体部分中的项目,因此如果这不正确,您可能需要将Umbraco.TypedMedia
替换为Umbraco.TypedContent
。
@inherits Umbraco.Web.Macros.PartialViewMacroPage
@{
var mp3Id = Model.MacroParameters["mp3"].ToString();
var mp3 = Umbraco.TypedMedia(mp3Id);
var mp3Url = mp3 != null ? mp3.Url : string.Empty;
var controlsTog = string.Empty;
if (string.Equals(Model.MacroParameters["controls"].ToString(), "1"))
{
controlsTog = "controls";
}
}
@if (!string.IsNullOrEmpty(mp3Url))
{
<audio @controlsTog>
<source src="@mp3Url" type="audio/mpeg" />
Your browser does not support the audio tag.
</audio>
}