Нужна помощь в раскладке сайта с додзё - PullRequest
2 голосов
/ 25 января 2011

В основном, ребята, я хотел бы создать макет сайта с помощью dojo, где у меня будет заголовок, область содержимого (это разделено на две части с некоторыми аккордеонами на левой панели и справа для основного содержимого), а затем нижний колонтитул. 1001 *

, так как мне нужно, чтобы сайт всегда имел этот макет, я решил поместить его в мастер-макет. однако, когда я просматриваю сайт, я вижу индексную страницу по умолчанию в порядке, но ее нет на панели, как я надеялся, и ни один из виджетов 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>

1 Ответ

0 голосов
/ 02 мая 2011

У вас есть опечатка при настройке параметров конфигурации dojo. Вместо

->setDjConfigOption('parseOnload', TRUE)

должно быть

->setDjConfigOption('parseOnLoad', TRUE)

Смотри прописные буквы "L". Если вы исправите это, то, по крайней мере, парсер dojo выполнит свою работу.

Не проверял, в порядке ли ваш макет, см. Комментарий Кена.

...