2011-01-24 13 views
2

基本的に私はdojoでウェブサイトをレイアウトしたいと思っています。ここにはヘッダー、コンテンツエリアがあります(これは左ペインに2つのアコーディオンがあり、メインコンテンツ)、フッター。dojoでサイトをレイアウトするのに助けが必要

私はいつもこのレイアウトを持っているサイトが必要なので、私はそれをマスターレイアウトに入れることにしました。しかし、私はサイトを見るとき、私はデフォルトのインデックスページを参照してくださいが、私は望んでいたとして、ペインではなく、dijitウィジェットはレンダリングされません。

投稿に大きなコードを貼り付けることが許されていないかどうかわかりません。申し訳ありませんが、以下はマスターレイアウトのコードです。私はデフォルトのzendツール構造にあまり取り組んでいません。

<?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

ちょうどあなたの目的のために2つのBorderContainerをネストする必要はありません。上/左/下/中央領域を持つもので十分であるはずです。 http://dojotoolkit.org/reference-guide/dijit/layout/BorderContainer.html#more-advanced-exampleまた、 'class =" tundra "'が不足しています。あなたのbodyタグに実際にテーマを適用する –

答えて

0

dojo設定オプションを設定するときは、タイプミスがあります。代わりに

->setDjConfigOption('parseOnload', TRUE) 

のそれは

->setDjConfigOption('parseOnLoad', TRUE) 

にする必要があるウォッチ大文字の 'L'。これを修正すれば、少なくともdojoパーサはそれを行うでしょう。

あなたのレイアウトがOKかどうかを確認しませんでした.Kenのコメントを参照してください。

関連する問題