LifeType 中文開發論壇

支援 => 使用與操作 => 主題作者是: AKUN 於 三月 31, 2006, 05:29:50 上午



主題: 请问如何在dashboard页增加menu?
作者: AKUN三月 31, 2006, 05:29:50 上午
就是登陆后第一个页面,他用的是simpleheader,如果我改为header,会有错误:
<a href="
Fatal error: Call to a member function on a non-object in d:\easyphp\www\blog\tmp\%%-18^%%-186145773^header.template.php on line 47

自己弄了好久,也找不到问题所在


主題: Re: 请问如何在dashboard页增加menu?
作者: lss三月 31, 2006, 10:08:42 上午
這是因為 dashboard 模版裡面沒有 $menu 物件可以用。

這可能要更動不少核心程式碼,若你有興趣,請試試在 class/view/admin 目錄下修改 admindashboardview.class.php 讓生成頁面時也提供 $menu 物件。方法可以參考同目錄裡的 adminview.class.php 。或者可以試試讓 AdminDashboardView 類別改成繼承自 AdiminView 類別也許也可以。

我不確定要更動多少程式碼,也不確定工程有多大。提供你一個方向,自己試試囉!

lss


主題: Re: 请问如何在dashboard页增加menu?
作者: markwu三月 31, 2006, 10:55:55 上午
我不建議這麼做。

這麼做只會增加你的難度。不如直接寫一個新的 blog 用的 dashboard 還快一些!因為有很多要改:

1. login action
2. empty action
3. dashboard action

這些都是跟 dashboard 緊緊連在一起的。如果真的要改,你會改一堆程式。所以我才建議寫一個新的(只接把 dashboard porting 到 blog 內 叫做 blogdashboard 之類的,而原有 dashboard 不去動他,)

Mark


主題: Re: 请问如何在dashboard页增加menu?
作者: dingling八月 17, 2006, 01:36:42 下午
哈哈,我通过很简单的几行代码就成功了,给大家参考,不严密,但已经可以用了。

1。 修改class/view/admin/admindashboardview.class.php
在末尾parent::render();之前加上
程式碼:
              $menu =& Menu::getMenu();
              $menuRenderer = new MenuRenderer( $menu, $this->_blogInfo, $this->_userInfo );
              $this->setValue( 'menu', $menuRenderer );

2。 修改simpleheader.template,加入:
程式碼:
{if $templatename=="dashboard"}
    <div id="menubar">
        <div id="menu">
            {$menu->generateAt("menu",1)}
        </div>
    </div>
{/if}

原理很简单,修改第一步以后只有login和logout的时候会有问题,那利用templatename的区别,login和logout的时候模板都是default,而dashboard的模板就是dashboard,所以判断一下,即可区分,虽然不太严密,但是我已经测试过了,很好用:)虽然不够严密,谁有兴趣把他做严密一些,在分享出来阿:)
简单吧,哈哈


主題: Re: 请问如何在dashboard页增加menu?
作者: dingling八月 17, 2006, 01:38:56 下午
啊呀,开心太早了,菜单连接中的参数还没有传递。。。我再弄弄:)