基于查询字符串更改页面模板

时间:2017-01-12 02:22:28

标签: kentico

我正在使用一个包含母版页布局的页面模板。现在当我访问具有在浏览器中显示的布局的页面时。现在我想在这里,如果我使用如下的查询字符串:

http://localhost/Mywebsite/page?AppMode=true

然后我想在这里只显示页面主页面布局的内容不应与页面内容一起显示。

目前我正在使用Kentico9。

3 个答案:

答案 0 :(得分:1)

页面的模板不是您可以使用宏执行的操作,但是您可以使用宏/查询字符串控制Page Placeholder webpart。

因此,为了做你想做的事,这就是你需要做的事。

  1. 对于网页的实际模板,它几乎只是一个空白'页面模板,其中包含页面占位符webpart。
  2. 对于页面占位符webpart,将路径设置为"。" (因此它显示此页面),然后您可以使用宏设置页面模板:{% (Convert.ToBool(QueryString.AppMode, false) ? "NotAppModeTemplate" : "AppModeTemplate") %}
  3. 告诉我这是否适合你的伎俩!唯一的空腔是唯一的“控制”。使用的主模板是在模板设置中,它可以继承根或最近的主模板,因此如果您希望一个模板使用1个母版页,而另一个模板使用不同的模板,则您必须设置在他们的祖先某处的主页,然后使用"从0,1,2级继承..."在页面模板中设置。

答案 1 :(得分:0)

假设您使用Kentico的ASPX开发模式进行此操作。对查询字符串进行简单检查,并在后面的代码中设置占位符的可见性。如果我在Portal模式下执行此操作,我将使用webpart上的宏来执行此操作。

答案 2 :(得分:0)

我在主页面模板条件布局和布局中使用了我的条件的宏查询字符串的可见属性,除了我的内容占位符,它正常工作,我希望。