1

我在 SilverStripe 论坛上问过这个问题,但一天没有听到。http://silverstripe.org/customising-the-cms/show/263604#post263604

我正在将基于 PHP 的静态站点 + Wordpress 迁移到 SilverStripe。

在静态页面中,我们自定义标题本身。我们有两种类型的登录。客户和关联公司。

在今天的静态站点中,我们做这样的事情:

<? require("_header_top.html"); ?> 
<? if (isset($display_affiliate_link) && $display_affiliate_link == true) { 
require("_header_middle_affiliate.html"); 
} else { 
require("_header_middle.html"); 
} ?> 
<? require("_header_bottom.html"); ?> 

这是会员和客户部分之间导航菜单的唯一区别。

我尝试了不同的布局路径。但我不喜欢它,因为除了这个之外,布局看起来 99% 相同。

我尝试了以下 hack,它有效,但我一点也不喜欢它。

<% if MenuTitle = Affiliate %> 
<a href="/affiliate_login>affiliate login</a> 
<% end_if %> 
<a href="/subscriber_login>subscriber login</a> 

关于如何更优雅地实现这一点或更好的推荐方式来实现这一点的任何建议?

维克拉姆

4

1 回答 1

1

我不明白你所做的有什么问题......其他解决方法是:

  • 为您的 SiteTree 页面对象添加“类型”属性,以便区分客户和附属公司。
  • 在 SiteTree 对象的控制器中,您可以使用接收数组或对象的“customize”函数,并通过调用控制器内部也可用的“renderWith”函数来使用模板文件(.SS文件)。这样,您的客户和附属公司的布局将在不同的 .SS 文件中分开。
于 2009-10-27T12:08:58.677 回答