我制作了包含youtube链接的If语句。
在umbraco中,我有一个文本字符串框,允许用户插入YouTube视频的ID。
<div class="module m-video">
<div class="regular">
<div class="graphics video-container">
<iframe width="100%" src="http://www.youtube.com/embed/<umbraco:Item field="youtubeId" runat="server" />?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
</div>
</div>
但是当页面加载时,它会显示<umbraco:Item field="youtubeId" runat="server" />
而不是用户输入的内容。
它们可以显示用户在文本字符串框中插入的内容。
所有必须在剃刀
中完成答案 0 :(得分:4)
我会创建一个“YoutubeVideo”宏以及它的剃刀脚本“YoutubeVideo.cshtml”。那个cshtml代码看起来像这样:
@using umbraco.MacroEngines
@inherits umbraco.MacroEngines.DynamicNodeContext
<div class="module m-video">
<div class="regular">
<div class="graphics video-container">
<iframe width="100%" src="http://www.youtube.com/embed/@Model.youtubeId?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
</div>
</div>
然后在你的.master中你可以包含这样的mascroscript:
<umbraco:Macro ID="Macro1" Alias="YoutubeVideo" runat="server" />
如果您将Umbraco 6+与MVC一起使用,这种方法可能会有所不同,但除此之外,这应该可以解决问题。
答案 1 :(得分:0)
如果你在umbraco模板编辑器中这样做,你应该能够用单引号交换表示src
属性的双引号,并且umbraco项不需要改变。
<iframe width="100%" src='http://www.youtube.com/embed/<umbraco:Item field="youtubeId" runat="server" />?rel=0' frameborder="0" allowfullscreen></iframe>