0

我试图让一个启动框仅显示在导航栏和侧边栏之间的主页上。

这是我正在尝试做的JSFiddle ..

http://jsfiddle.net/6twvzgfu/

如您所见,启动框位于侧边栏和内容上方...

现在,问题来了。

在 Q2A 中,当我尝试复制此内容时,侧边栏始终位于启动框上方。

这是我当前的代码..

    function main()
    {
        if ($this->request=='') {
        $this->output('<div class="splashbox">'); 
         $this->output('</div>');     

        } else
            qa_html_theme_base::main();
    }


    function sidepanel() 
    {   
        $this->output('<div class="qa-sidepanel">'); 
        $this->search();
        $this->nav('cat', 1);
        $this->feed(); 
        $this->output('</div>'); 
    }

这样,splashbox 只显示在主页上(由 '' 声明)......而且效果很好。但它首先呈现侧边栏(侧面板)。我不确定为什么。我认为将侧面板功能放在 splashbox 功能下方会使其呈现第二个,但它不起作用。有什么建议么?谢谢!

4

1 回答 1

0

这很容易……我花了一些时间查看代码就弄清楚了……

我意识到我正在制作一个功能“MAIN”......这意味着它将用splashbox替换我的Q2A的内容部分。那不是我想要的……我希望它能够将splashbox 插入整个站点。

为了做到这一点,我必须创建一个函数 BODY_CONTENT,而不是函数 MAIN

所以...

这就是它最终的样子......

        function body_content()
    {
        if ($this->request=='') {   
        $this->body_prefix();
    $this->notices();
    $this->output('<div class="qa-body-wrapper">', '');
    $this->widgets('full', 'top');
    $this->header();
    $this->output('<div class="splashbox">'); 
        $this->output('</div>');
    $this->widgets('full', 'high');
    $this->sidepanel();
    $this->main();
    $this->widgets('full', 'low');
    $this->footer();
    $this->widgets('full', 'bottom');
    $this->output('</div> <!-- END body-wrapper -->');
    $this->body_suffix(); 

        } else
            qa_html_theme_base::body_wrapper();
    }
于 2015-06-22T14:25:33.783 回答