在主页上创建Q2A Splashbox显示

时间:2015-06-22 14:10:10

标签: php question2answer

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

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

http://jsfiddle.net/6twvzgfu/

如您所见,splashbox位于侧栏和内容之上......

现在,问题出在这里。

在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只显示在主页上(由''声明)......并且工作正常。但它首先渲染侧边栏(侧面板)。我不知道为什么。我认为将sidepanel函数放在splashbox函数下面会使它渲染第二但它不起作用。有什么建议?谢谢!

1 个答案:

答案 0 :(得分:0)

这很简单......我只是花了一些时间查看代码......

我意识到我正在制作一个功能&#34; MAIN&#34; ...这意味着它将用splashbox替换我的Q2A的内容部分。这不是我想要的......我希望它将启动框插入整个网站。

为了做到这一点,我必须创建一个函数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();
    }