2011年1月20日 星期四

joomla的模塊順序不聽話,不照你要的順序排,怎麼處理?

如下圖所示,若我們希望選取語言模組排序在主選單之上,而現況是在主選單之下,這時我們要進到Joomla後台去調整模組的順序。

image 

進到後台我們看到位置在左邊欄的模組順序如下圖所示:

其中主選單與choose your language的排序均是0其ID編號分別是1001與1028!且我們看到的是這兩者的順位是主選單在上,而choose your language在下。

image

通常看到這樣的順位與我們要的目標不合,我們的直覺動作是如下圖紅色箭頭所指的,將滑鼠點主選單的排序緣色向下三角形一下,來將主選單往下移到choose your language的下面。於是我也就用滑鼠點了一下!

image

結果出現的現象是如下圖所示,主選單果然跑到choose your language下面了,但是有一個我們不要的現象也發生了,那就是Expose Scroller跑到最上面了!

image

因為我們要的是choose your language排序在最上面,所以也就自然的滑鼠再點一次Expose Scroller的排序緣色向下三角形一下,來試圖使Expose Scroller往下移!

image

按完後Expose Scroller果然往下了,在是choose your language之下,但是我們又發現,這時畫面又回到最初尚未更改之前的排序,主選單又到是choose your language之上了!而不管我們試了多少次,排序緣色向下或向上三角形再怎麼按,都無法如我們所願是choose your language排序在第一,主選單在第二、Expose Scroller在第三!

image

遇到這種狀況其時是因為主選單與是choose your language兩個模組的排序同時是0而ID編號主選單的數字較少所致,因為Joomla的排序數字越少越前面,而0已是最小了,這時決定兩個模組的順位就變成是ID編號在主導了,而理論上當我們按主選單的綠色三角形向下鈕時,造理可將主選單的排序變0以上之數字即可解決這個問題,然何不怎Joomla系統是怎麼考量的,他就是不讓你變成1~4之間的數,而是與Expose Scroller排序號碼對調?所以再怎麼試也沒用,這時還好有一個方式可以做,那就是Joomla的模組ID編號是與該模組產生的順序有關,而即然因為主選單是先建成,以至於當其與是choose your language同時為排序0時ID編號較小而排在前面,那我就想到一個做法可試看看:

首先將主選單如下圖紅色箭頭所示點它,將其關閉!

image

如下圖,我們另外新建一個主選單,這樣其ID編號定然大於是choose your language的ID編號了!

image

按如箭頭所示,先點選單,再點右上方的下一步。

image

將基本設定如下圖箭頭所示設好後,按右上方的儲存!

image

再打開此新建的主選單模組一次,調整其順序,置於choose your language下方。再儲存一次。

image

這個我們後台左邊欄模組排序表已看到新主選單果然在choose your language下方了。而看一看排序一個是0、一個是4,ID編號choose your language是10128而果然如預測的新主選單的是10158,大於choose your language的ID數值!

image

再到前台看一看左邊欄模組的排位,總算變為我們要的排序了!

image

沒有留言: