2017-09-08 14 views
1

最近、私はSilverStripeを使い始めました。今、私はすでに左メニューを持って私のページのためのフッタメニューを作った。今私は、私は足と左メニューの管理パネルでページを作ることができるようにしたい。だから私の考えは、管理パネルでチェックボックスを作って、新しいページを作り、左のメニューに空のままにしておけば、ページがフットメニューに入るというチェックボックスをチェックすることでした。シルバーストライプの2つの別個メニュー

私はこれは私のfootnavテンプレートが

<ul> 
    <% control Menu(2) %>  
    <% if menuLocationHorizontal == 1 %> 
     <li><a href="$Link" title="Go to the $Title.XML page" class="$LinkingMode"><span>$MenuTitle.XML</span></a></li> 
     <% end_if %> 
    <% end_control %> 
</ul> 

どのように見えるかです

$fields->addFieldToTab('Root.Behaviour', new 
    CheckboxField('menuLocationHorizontal',"Show up in horizontal 
    menu?"),"ShowInSearch"); 

page.phpにgetCMSFieldsで

static $db = array('menuLocationHorizontal' => "Boolean"); 

そして、この私のpage.phpのsidetreeにこのコードを追加私はこれを行った後、私はちょうど足のメニューにif文を追加し、それをthats。しかし、それはサイトをクラッシュさせます。バージョンは3.1です。私はそのPHPの汚れていると思います。 私の英語のために申し訳ありませんが、それは私のネイティブではありません。 Silverstripe docs websiteで利用可能

<ul> 
    <% loop Menu(2) %>  
    <% if menuLocationHorizontal == 1 %> 
     <li><a href="$Link" title="Go to the $Title.XML page" class="$LinkingMode"><span>$MenuTitle.XML</span></a></li> 
    <% end_if %> 
    <% end_loop %> 
</ul> 

詳細情報:

+0

Pagesから別々のメニューを定義できるhttps://github.com/heyday/silverstripe-menumanager/tree/2.0モジュールをご覧ください。 – wmk

+0

ありがとう、私はこれを追加しましたが、うまく動作しません。私は新しいメニューセットをマカ、それは私に内部サーバーのエラーを示していますが、それはまだmenu_setを作ると、その後私はセットを編集することはできません – Thranduil

答えて

0

controlエントリが何を探していることはそうのような、<% loop %>で、SS 3.1でサポートされていません。

+0

ありがとう、私はこれを修正します。しかし、私はまだこれを追加することはできません 'menuLocationHorizo​​ntal' => "ブール"、それはサイトをクラッシュしました。 – Thranduil

+0

"サイトをクラッシュしました" ...どのようなエラーメッセージが出ましたか? – wmk

+0

アクセスパネルにアクセスしようとしているときに管理パネルに内部サーバーエラーが表示され、開始ページが表示されます - サーバーエラー申し訳ありませんが、リクエストの処理に問題がありました。 – Thranduil

0

私にとっては、答えはこれでした - >https://github.com/i-lateral/silverstripe-custommenus 実際に働いたのは唯一のことです。

+0

あなたが解決策を見つけられたらうれしいです:) SS 3.1がサポートされていないことを示唆しているにもかかわらず、このモジュールのreadmeには注意が必要です: "SilverStripe 3.3以上。 – leomeloxp

+0

私は知っていますが、私はあなたのモデルを試して、それは動作しません。私はエラーだけを得る。 – Thranduil

関連する問題