1

SilverStripe フォーラムでこの質問をしましたが、1 日たっても連絡がありません。http://silverstripe.org/customising-the-cms/show/263604#post263604

静的 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% 同じに見えるので、私はそれを好みません。

次のハックを試してみましたが、うまくいきましたが、まったく好きではありません。

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

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

ヴィクラム

4

1 に答える 1

1

あなたがしたことの何が問題なのかわかりません...他の回避策は次のとおりです。

  • 顧客とアフィリエイトを区別するために、SiteTree ページ オブジェクトに「Type」プロパティを追加します。
  • SiteTree オブジェクトのコントローラー内では、配列またはオブジェクトを受け取る「customize」関数を使用できます。また、コントローラー内でも使用できる「renderWith」関数を呼び出して、テンプレート ファイル (.SSファイル)。このようにして、顧客とアフィリエイトのレイアウトが別々の .SS ファイルに分けられます。
于 2009-10-27T12:08:58.677 に答える