2017-09-08 4 views
1

최근에 실버 스트라이프를 사용하기 시작했습니다. 지금 나는 이미 왼쪽 메뉴가있는 내 페이지에 대한 꼬리말 메뉴를 만들었습니다. 이제 저는 관리자 패널에서 발 및 왼쪽 메뉴에 대한 페이지를 만들 수 있도록 만들고 싶습니다. 그래서 내 생각은 admin 패널에서 체크 박스를 만든 것이 었습니다. 새 페이지를 만들고 왼쪽 메뉴에서 비워두면 페이지가 왼쪽으로 이동하는 체크 박스를 선택하면됩니다.실버 스트라이프의 두 개의 개별 메뉴

내 page.php의 sidetree

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

에이 코드를 추가하고이 page.php에 getCMSFields에 이것은

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

어떻게 내 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> 

내가 이것을 한 후에 나는 단지 발의 메뉴에 if 문장을 추가하고 그 것이다. 그러나 그것은 사이트를 충돌시킵니다. 사용하는 버전은 3.1입니다. 나는 그 phoult 추측. 내 영어에 대한 죄송합니다. 내 출신이 아닙니다.

+0

페이지에서 별도의 메뉴를 정의 할 수있는 https://github.com/heyday/silverstripe-menumanager/tree/2.0 모듈을 살펴볼 수 있습니다. – wmk

+0

고마워,하지만이 일을 실 거예요. 나는 새로운 메뉴 세트를 내게 내부 서버 오류를 보여 주지만 여전히 메뉴 세트를 만든다. 그리고 그 후에는 세트를 편집 할 수 없다. – Thranduil

답변

0

control 항목 SS 3.1에서 지원되지 않습니다, 당신이 찾고있는 것은 지금처럼 <% loop %>입니다 : 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

고맙다. 고맙다. 하지만 여전히이 'menuLocationHorizontal'=> "Boolean"을 추가하면 사이트가 손상됩니다. – Thranduil

+0

"사이트가 손상되었습니다"... 어떤 오류 메시지를 받았습니까? – wmk

+0

액세스 패널 및 시작 페이지에 표시하려고 할 때 관리자 패널에 내부 서버 오류가 발생합니다 - 서버 오류 죄송합니다. 요청 처리에 문제가 있습니다. – Thranduil

0

나를 위해 대답은 이것이었다 ->https://github.com/i-lateral/silverstripe-custommenus 실제로 일한 유일한 것.

+0

당신은 솔루션을 찾았 기 때문에 기쁘다 :) 주목할만한 점은 모듈의 readme에서 SS 3.1이 지원되지 않는다는 것을 암시한다 : "SilverStripe 3.3 이상." – leomeloxp

+0

알아요.하지만 당신의 모델을 시험해 봅니다. 작동하지 않을 것입니다. 오류 만 있습니다. – Thranduil