客戶端網站使用Joomla模板,在左欄中有許多模塊,但對於我設計的自定義組件,這些模塊必須由垂直菜單。我想出了破解解決是要隱藏這些模塊與CSS:如何使用Joomla左側邊欄位置進行自定義組件菜單
div#leftpad > div {
display:none;
}
,然後在<div id='leftpad'>
插入<div id='compmenu'>
JavaScript和設置display:block
。使用jQuery,我可以做
jQuery('#compmenu').appendTo('#leftpad').show();
該組件顯示谷歌地圖,所以javascript是必需的。這裏的任何Joomla專家都知道獲得相同結果的更優雅或直接的方法?
你能提供一個小代碼片段嗎?或者也許我可以在API文檔中查找類方法?不幸的是,我對Joomla的知識並不全面。我的組件不一定有菜單項。例如,它可能會從主頁上的圖像鏈接調用。 – yitwail 2011-05-16 08:43:10
@yitwail即使它不是一個可見的菜單,你仍然必須在Joomla中使用menulink。其他所有可能導致你不良行爲。據我瞭解,你正在開發一個組件,所以客戶端需要安裝它。並處理所有的Joomla後端。這不取決於你。你不必做任何事情。這根本不是Joomla的工作方式。 一點背景:joomal中的每個模塊都有一個MenuBinding,默認情況下爲每個菜單設置「全部綁定」。客戶端只需解除引用組件的Menu(或Menuitem)的綁定。 – sra 2011-05-16 09:11:36
我不想用黑客。這就是我問這個問題的原因。我試着用谷歌搜索'joomla菜單綁定模塊',並提到第一個結果指出url中的itemid = xx。然後,我遇到了一個關於這個[這裏]的官方文檔(http://docs.joomla.org/How_to_control_module_display_when_linking_to_an_article_with_no_menu_item),但它正在專門針對文章頁面。無論如何,我需要以某種方式爲不包含它不需要的模塊的組件創建一個itemid。 – yitwail 2011-05-16 09:23:29