2011-01-24 4 views
2

기본적으로 내가 dojo로 웹 사이트를 레이아웃하고 싶습니다. 여기에는 헤더, 컨텐츠 영역이 있습니다 (왼쪽 분할 영역과 오른쪽 분할 영역에 두 개의 아코디언이 있습니다. 주요 내용) 다음 바닥 글.dojo로 사이트를 배치하는 데 도움이 필요합니다.

사이트 레이아웃이 항상 필요하므로 마스터 레이아웃에 넣기로했습니다. 그러나 내가 사이트를 볼 때 기본 인덱스 페이지는 괜찮지 만, 창에서 바라는 바는 아니며 dijit 위젯 중 아무 것도 렌더링되지 않습니다.

게시물에 큰 코드를 붙여 넣을 수 있는지 확실하지 않은 경우 미안하지만 아래는 마스터 레이아웃 코드입니다. 나는 기본 zend tool 구조를 많이하지 않았다. 난 단지 몇 가지 모듈을 만들었습니다 :

<?php 
    Zend_Dojo::enableView($this); 

    $this->dojo()->setCdnBase(Zend_Dojo::CDN_BASE_GOOGLE) 
      ->addStyleSheetModule('dijit.themes.tundra') 
      ->setDjConfigOption('parseOnload', TRUE) 
      ->setDjConfigOption('locale', 'en-GB') 
      ->setDjConfigOption('isDebug', TRUE); 
    echo $this->dojo(); 
    ?> 

    <script type="text/javascript"> 
     dojo.require("dijit.layout.ContentPane"); 
     dojo.require("dijit.layout.BorderContainer"); 
     dojo.require("dijit.layout.TabContainer"); 
     dojo.require("dijit.layout.AccordionContainer"); 
    </script> 
</head> 
<body> 
    <div dojoType="dijit.layout.BorderContainer" gutters="true" id="borderContainer"> 
     <div id="header" dojoType="dijit.layout.ContentPane" region="top" splitter="false"> 
      <div id="logo"> 
       <img src="/images/logo.gif" /> 
      </div> 

      <div id="menu"> 
       <a href="<?php echo $this->url(array(), 'home'); ?>">HOME</a> 
       <a href="<?php echo $this->url(array('page' => 'services'), 'static-content'); ?>">SERVICES</a> 
       <a href="#">CONTACT</a> 
      </div> 
     </div><!-- end header --> 

     <div dojoType="dijit.layout.BorderContainer" liveSplitters="false" design="sidebar" 
      region="center" id="content"> 
      <div dojoType="dijit.layout.AccordionContainer" minSize="20" style="width: 300px;" 
       id="leftAccordion" region="leading" splitter="true"> 
       <div dojoType="dijit.layout.AccordionPane" title="One fancy Pane"> 
       </div> 
       <div dojoType="dijit.layout.AccordionPane" title="Another one"> 
       </div> 
       <div dojoType="dijit.layout.AccordionPane" title="Even more fancy" selected="true"> 
       </div> 
       <div dojoType="dijit.layout.AccordionPane" title="Last, but not least"> 
       </div> <!-- end AccordionContainer --> 
      </div> 
      <div dojoType="dijit.layout.TabContainer" region="center" tabStrip="true"> 
       <div dojoType="dijit.layout.ContentPane" title="My first tab" selected="true"> 
        <?php echo $this->layout()->content ?> 
       </div> 
       <div dojoType="dijit.layout.ContentPane" title="My second tab"> 
        Lorem ipsum and all around - second... 
       </div> 
       <div dojoType="dijit.layout.ContentPane" title="My last tab" closable="true"> 
        Lorem ipsum and all around - last... 
       </div> 
      </div> 

     </div> 
     <div id="footer"> 
      <p>Created with <a href="http://framework.zend.com/">Zend Framework</a>. Licensed under <a href="http://www.creativecommons.org/">Creative Commons</a>.</p> 
     </div><!-- end footer --> 
    </div> 
+0

그냥 두 개의 BorderContainer를 중첩 할 필요는 없습니다. 상단/좌측/하단/중앙 영역이있는 것이 충분해야합니다. http://dojotoolkit.org/reference-guide/dijit/layout/BorderContainer.html#more-advanced-example 여기에도 "class ="tundra "'가 없습니다. body 태그에 실제로 테마를 적용합니다. –

답변

0

당신은 도장 설정 옵션을 설정할 때 오타가 있습니다. 대신

->setDjConfigOption('parseOnload', TRUE) 

의 그것은

->setDjConfigOption('parseOnLoad', TRUE) 

할 필요가 시계 대문자 'L'. 이것을 고치면 적어도 도장 파서가 그 일을 할 것입니다.

레이아웃이 괜찮은지 확인하지 않았습니다. Ken의 의견을 참조하십시오.

관련 문제