作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何从子布局背后的代码中的“参数”字段(第二张屏幕截图)获取值?
我了解,当将渲染(特别是子布局)添加到项目的演示文稿详细信息中时,我可以获取/设置参数,如此处所述(Sitecore 6 - using parameters)。
但是,我想使用布局定义项中的parameters字段。在属于布局定义的文件的代码背后,我可以将父级转换为子布局,并且该对象也具有.Parameters
属性,但是其中不包含我期望的值。
这是背后的控制代码中的Page_Load
方法:
protected void Page_Load(object sender, EventArgs e)
{
var sublayout = ((Sublayout)this.Parent);
string rawParameters = Attributes["sc_parameters"];
NameValueCollection parameters =
Sitecore.Web.WebUtil.ParseUrlParameters(rawParameters);
//parameters contains values from "Additional parameters (first screenshot)
//I do not know the sublayout item id or sublayout path, so how do I get
//the values from the second screenshot?
}
additional parameters
:
最佳答案
您可以获取在子布局上定义的参数,但是有点麻烦。您需要首先找到正确的渲染项目,然后从那里检索参数
var sublayout = ((Sublayout)this.Parent);
//Get all rendering
var renderings = Sitecore.Context.Item.Visualization.GetRenderings(Sitecore.Context.Device, true);
//Get the first rendering that matches the current sublayout's path
var sublayoutRendering = renderings.FirstOrDefault(r => r.RenderingItem.InnerItem["Path"] == sublayout.Path);
if (sublayoutRendering != null)
Response.Write(sublayoutRendering.RenderingItem.Parameters);
关于layout - Sitecore:如何使用codebehind中的sublayout参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5949214/
我对子布局的数据源模板的更改有疑问。现在,有两个子布局:Sub1 和 Sub2,它们将 Template1 作为它们的数据源模板。直到我发现我需要为 Sub1 使用不同的数据源模板时,我已经创建了许多
在我们前进的过程中,我们一直在尝试“组件化”我们的 Sitecore 解决方案,以准备过渡到使用页面编辑器(哇!终于!),但实际上我们仍然主要使用可能继承的页面模板- 基于页面特定字段的组合,加上 1
我是一名优秀的程序员,十分优秀!