2009-06-29 12 views
1

私はSilverStripeフォーラムでこの質問をしましたが、1日で聞いたことがありません。 http://silverstripe.org/customising-the-cms/show/263604#post263604SilverStripeのナビゲーションメニューをカスタマイズする

私は静的なPHPベースのサイト+ WordpressをSilverStripeに移行しています。

静的ページでは、ヘッダー自体をカスタマイズします。私たちには2種類のログインがあります。お客様とアフィリエイト。静的サイトで

今日、我々はこのような何か:

<? 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%同じに見えるので、それを好むわけではありません。

私は以下のハックを試しましたが、うまくいきましたが、私はそれがまったく好きではありません。

これをよりエレガントに実現する方法やこれを実装するための推奨される方法についてのご意見はありますか?

ビクラム

答えて

1

私は その他の回避策は次のようになります...あなたが何をしたかと間違っているものを理解していない:のために、あなたのSiteTreeページオブジェクトのための「タイプ」プロパティを追加

  • 顧客とアフィリエイトの間で別々になる。
  • SiteTreeオブジェクトのコントローラの内部では、配列またはオブジェクトのいずれかを受け取る "customize"関数を使用できます。また、コントローラ内でも使用可能な "renderWith"関数を呼び出して、配列/オブジェクトをテンプレートファイルでレンダリングします(.SSファイル)。こうすることで、顧客とアフィリエイトのレイアウトが異なる.SSファイルに分割されます。
関連する問題