Umbraco音频插入宏
我有一些来自较旧版本(版本6)umbraco的代码,允许用户选择音频文件,然后使用宏将html 5音频播放器插入页面。我已经把它复制到了第7版,但它不起作用。我不断地发现这个错误: 加载部分视图脚本时出错(文件:~/Views/MacroPartials/InsertAudio.cshtml) 代码:Umbraco音频插入宏,umbraco,umbraco7,Umbraco,Umbraco7,我有一些来自较旧版本(版本6)umbraco的代码,允许用户选择音频文件,然后使用宏将html 5音频播放器插入页面。我已经把它复制到了第7版,但它不起作用。我不断地发现这个错误: 加载部分视图脚本时出错(文件:~/Views/MacroPartials/InsertAudio.cshtml) 代码: @inherits umbraco.MacroEngines.DynamicNodeContext @{ var controls = Parameter.con
@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>
}
@继承umbraco.MacroEngines.dynamicontext
@{
var控制=参数控制;
var mp3Url=Library.NodeById(Parameter.mp3).Url;
字符串控制stog=“”;
如果(控件==“1”){
controlsTog=“控制”;
}
您的浏览器不支持音频标记。
}
您必须将传统razor宏转换为局部视图宏。以下是有关如何执行转换的基本指南:
我已对您的脚本文件进行了必要的更改,但这未经测试。我还假设您的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>
}
@继承Umbraco.Web.Macros.PartialViewMacroPage
@{
var mp3Id=Model.MacroParameters[“mp3”].ToString();
变量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=“控制”;
}
}
@如果(!string.IsNullOrEmpty(mp3Url))
{
您的浏览器不支持音频标记。
}
我尝试了您建议的两种方法,并一直得到相同的结果error@Jess-有什么想法吗?我刚刚在本地测试过,它对我有效。宏参数别名是否正好出现在脚本中?在我的例子中,我有两个参数,一个是True/False类型,别名为“controls”,另一个是Single Media Picker类型,别名为“mp3”(全小写)。如果别名不正确,则会出现“加载局部视图时出错…”错误。