您在這裡

DHTML Menu的導覽列標題問題

tky's 的頭像
tky 在 2007-06-01 (週五) 12:52 發表

各位好:
最近開始認真架構第一個5.0的站,問題開始變多了。
這是一個小問題,不曉得有沒人知道。

DHTML Menu是TKY認為一個有效將長Block中的子選單變成可收理的模組。用在「管理」區塊中尤其好用。
其唯一美中不足的地方在於,如果啟用預設的DHTML導覽區塊,區塊標題會變成「導覽」,而非使用者名稱。
不曉得能否在區塊的進階設定以使用者名稱的變元加以取代?
如果可以的話,要怎麼寫?(原諒TKY這個程式碼白癡)

謝謝

TKY

TKY就是覺得activemenu的速度太慢啊,而且不是很親民,很少人會一開始就注意到那個"+"號吧!
(事實上,TKY是有一次不小心點到才發現說可以展開的)

simplemenu,對TKY來說是個大災難ㄟ。
TKY有用過,在firefox底下,畫面支離破碎到像被車碾過一樣,不忍賭卒。
很早期就被TKY放棄掉的模組之一,不曉得後來是否有改進....。

真沒有簡單方式的話,「導覽」就「導覽」吧!小瑕疵,不是什麼大問題就是了。
而且,TKY實際去訪問過使用者的意見,他們其實都不是很注意導覽列的標題就是他們的使用者名稱。XD
只是想看看有沒人知道怎麼弄而已。

tky

tky

當然想啊!
事實上,TKY曾經買書自學,用Dreamweaver的一些幫助,做過自己第一代的PHP+mysql網站。
大概瞭解過像討論區或會員系統該怎麼做。不過再難就不會了(沒時間、我沒時間.....XD)。

不過像DHTML這個問題,嗯,TKY以為說用它的特殊函數就可以了說。
TKY以為說,在區塊設定介面—>進階設定—>區塊標題的欄位中,填入某個Drupal函數就好,
不是這樣啊?還是TKY想得太單純了,其實非得動到程式碼不可?XD

jimmy教一下吧~~~

tky

tky

TKY,
可以修改dhtml_menu.module的block_hook(),只加了兩列(註解處),下面的程式碼給你參考:

function dhtml_menu_block($op = 'list', $delta = 0) {
//一、宣告 $user 物件為 global(會用來判斷是否登入)
global $user;
if ($op == 'list') {
$blocks = array();
$root_menus = menu_get_root_menus();
foreach ($root_menus as $mid => $title) {
$blocks[$mid]['info'] = t('DHTML: ') . $title;
}
return $blocks;
}
else if ($op == 'view') {
$item = menu_get_item($delta);
//二、顯示區塊時,若為「導覽區塊」且會員已登入,則將區塊標題改為會員帳號
if ($item['title']==t("Navigation") && $user->uid) $item['title']= $user->name;
$data['subject'] = check_plain($item['title']);
$data['content'] = theme('dhtml_menu_tree', $delta);
return $data;
}
}

--迎著風,線放鬆,風箏自然上天空--

--迎著風,線放鬆,風箏自然上天空--

推york的回覆
我想到的方式也是如此,tky試看看囉

/************************************************
* 你的回饋,讓Drupal越來越茁壯 * Drupal社群越茁壯,你就越有力量 *
************************************************/

--
from open mind to open source~