MDa*_*MDa 3 razor tridion experience-manager
大家好,我一直在研究一套Razor模板,这些模板既可以使用体验管理器进行站点编辑,也可以使用Twitter引导程序完全响应多个屏幕宽度.因此,我需要根据Experience Manager编辑器添加或删除的内容动态操作DOM输出,但仍然保持响应式设计.这种结构的一部分是遵守twitter bootstrap规定的规则.
twitter引导程序通过使用类引入动态计算的div宽度,可实现出色的响应式设计.例如,A <div class="span12>使用包装器的整个宽度."span6"有效地使用了一半,并且还计算了一定的余量以允许另一个具有"span6"的div.但是,这只有在调用前面的类时才有效<div class="row-fluid">,并且只要跨度<numbers>实际上恰好合计为12.当我需要关闭<div class="row-fluid">实际达到此数字时出现问题.
澄清一下:它必须像这样输出
<div class="row-fluid">
<div class="span6">..code</div>
<div class="span4">..code</div>
<div class="span2">..code</div>
</div>
Run Code Online (Sandbox Code Playgroud)
的<div class="span[#]">呈现与一个分量模板中,以便允许内的多个组件<div class="row-fluid>,其中所述页面模板呈现.
但是,从组件模板级别来看,我似乎无法检索到该页面本身实际存在的该模板的实际组件数量.我根据组件本身的模式选项计算所用组件的宽度.我使用以下组件模板代码来正确呈现它:
@{
var spanClass = String.Empty;
if (Fields.HasField("component_width") && Fields.component_width != null) {
if (Fields.component_width.ToLower() == "full") {
spanClass = "span12";
} else if (Fields.component_width.ToLower() == "half") {
spanClass = "span6";
} else if (Fields.component_width == "40%") {
spanClass = "span5";
} else if (Fields.component_width == "35%") {
spanClass = "span4";
} else if (Fields.component_width == "25%") {
spanClass = "span3";
}
}
}
<div class="@spanClass">...code
Run Code Online (Sandbox Code Playgroud)
要回答我的问题:<row-fluid>如果已达到12,我需要能够关闭div.因此,如果选择了一个具有"完整"(宽度)选项的组件,则需要显示以下输出代码:
<div class="row-fluid">
<div class="span12">..code</div>
</div>
Run Code Online (Sandbox Code Playgroud)
如果页面上有两个组件,并且选择了"half"选项,则必须允许
<div class="row-fluid">
<div class="span6">..code</div>
<div class="span6">..code</div>
</div>
Run Code Online (Sandbox Code Playgroud)
介意结束时的结束div.有什么方法可以var spanClass = String.Empty;从页面模板到达我在组件模板上创建的变量吗?就像是:
@foreach (var cp in GetComponentPresentationsByTemplate("XM_Generic Content")) {
@if (cp.Component.spanClass == "span6") {
<div class="row-fluid">
@cp.RenderComponentPresentation()
@if (cp.Index == 1) {
</div>
}
}
}
Run Code Online (Sandbox Code Playgroud)
我仍然了解Razor模板,响应式设计和当然StackOverflow的实用性.有可能我完全错过了一些东西,在我的代码中提出了一个愚蠢的错误,只是问了一个愚蠢的问题.无论如何,请告诉我.
| 归档时间: |
|
| 查看次数: |
598 次 |
| 最近记录: |