2011-07-02 60 views
1
頁面

我目前正在設計一個垂直下拉菜單(與子菜單)上,這裏是它的外觀:打開子菜單根據選擇的

Click here to see the screenshot

在左邊,沒有選擇菜單項。 在中間和右側打開子菜單(並選擇藍色的頁面)。 一個子菜單可以一次打開(一個打開=>另一個關閉)。 菜單的內容不是動態的。

最大的問題是,當我打開一個新頁面時,必須打開所選頁面的子菜單。

所以我決定,我的所有網頁的鏈接會像index.php?p=my_selected_page和文件menu.php我建這個數組:

$menu = array(
    'Présentation' => array(
     'accueil' => 'Accueil', 
     'inscription' => 'Inscrivez-vous' 
    ), 
    'Nos actions' => array(
     'mediation-familiale' => 'Médiation familiale', 
     'droit-de-visite' => 'Droit de visite accompagnée', 
     'accompagnement-familial' => 'Accompagnement familial' 
    ) 
    // [...] 
); 

然後我得到$_GET ['p']的頁面。我查看數組並寫入菜單html匹配。 如果$_GET['p']是關鍵子數組之一,我將顯示帶CSS類的子菜單,以便打開此菜單。 (並且該鏈接默認選中)。

雖然這個解決方案的工作原理,這個系統只允許我存儲鏈接,如index.php?p=my_selected_page

我希望我可以把其他環節,如forum.php(和包括forum.phpmenu.php)等。

如果您有任何意見,以做到這一點,我將不勝感激。

(我是法國人。對不起,拼寫錯誤。)

+0

鏈接到圖像在這裏:http://img228.imageshack.us/img228/9216/menuamaf.png – Blender

+0

謝謝。我以爲我已經複製了正確的鏈接。 –

+0

ImageShack永遠不會讓你有正確的鏈接。 Ever ... – Blender

回答

2

你可以使用$_SERVER["SCRIPT_NAME"]詢問您的腳本文件的名稱,然後使用該信息進行驗證,而不是發送通過GET進行變量。 :)

例如

<?php 

$script_file = $_SERVER["SCRIPT_NAME"]; 
$no_slashes = explode('/', $script_file); 
$script_file = $no_slashes[count($no_slashes) - 1]; 

echo $script_file; 

?> 

在這一點上,你將不得不存儲在$script_file文件名,你可以用你的數組的鍵匹配。

希望這會有所幫助。

1

您的問題似乎很comfusing,你可能可以嘗試的jQuery添加一些JavaScript單擊事件。另一方面,我認爲如果你可以使用該框架,意味着包括所有的頭文件

+0

我已經使用jQuery在子菜單之間導航(slideUp/Down,toggle/removeClass ...)。我現在需要另一種方式來管理除「'index.php?p = selected_pa​​ge」'以外的鏈接。 –