2012-10-15 194 views
2

我正在編寫一個模塊,與插件一起使用,爲網站創建上下文背景。上下文模塊 - Joomla 2.5

前提是:如果用戶在主頁上,背景圖像是插件參數中指定的默認值。

如果用戶位於類別列表頁面上,則背景圖像是(自定義)組件參數中指定的默認值。

如果用戶位於文章列表頁面上,則背景圖像是指定爲(自定義)類別參數中的默認值的任何內容。

如果用戶位於文章頁面上,則背景圖像是(自定義)文章參數中指定的默認值。

爲了讓這個更有趣,我寫了自己的組件,顯示配置文件而不是文章。它們的工作方式完全相同,但可能不包含內容組件所做的所有編碼。編寫自定義組件的原因超出了這個問題的範圍。

該插件創建並添加基本標記到頁面,並且這在整個網站中工作正常。主頁完全按照我的要求工作。

該模塊應該添加樣式表等。到文檔的標題,它沒有問題。問題在於模塊應該首先確定上下文,然後從給定上下文加載參數。這是我的問題:我無法找到代碼來確定上下文,並按照上述規則讀取參數。

我試過它只是一個插件(沒有模塊的幫助),但作爲一個內容插件它不能在主頁上工作,而作爲系統插件它沒有訪問內容參數。我也考慮過有兩個插件一起工作,但這似乎是不好的做法。也許一個既不是內容也不是系統的新插件,但可以訪問這兩種情況?

附加信息:

我已經寫了一個數字,代表實體的不同羣體組成。每個組件都有自己獨特的參數,但也是所有組件中的一些常見參數。每個組件都具有以「核心Joomla」橫幅「和」聯繫「組件相同的方式」實例化「的功能。一個常用參數的例子是'gallery'參數;每個組件都有一個「gallery」參數,每個「實例」都可以選擇具有自己的值。 「圖庫」參數包含文件夾的URL,其中包含與特定組件實例相關的圖像。

的這是怎麼應該齊心協力一個例子:

我有一個叫做「司機」,將充當容器組件 - 你猜對了 - 司機。在組件管理菜單中,我可以添加驅動程序,指定其名稱,年齡等,並且可以爲驅動程序添加面部照片和圖庫URL。

當網站端用戶加載驅動程序頁面時,我希望代碼加載來自庫文件夾的所有圖像以及要在後臺旋轉的圖像。我希望能夠隨時添加/刪除/替換圖像,而不必參考驅動程序的選項頁面。只是爲了使其更加複雜,隨着每個背景圖像的加載,EXIF元數據將從圖像中讀取,並且會在頁面底部的前景中以縮略圖的形式顯示。

現在,這一切都完美地在網站的根源,並在大部分作品貫穿始終。跌倒的部分是從模塊中檢索驅動程序「實例」中的變量。當然,我可以編寫一些整潔的SQL和數據庫調用,但肯定會有大部分模塊檢索組件,類別和文章參數的方法嗎?

+0

除了Mario的回覆之外,上面還增加了更多的上下文和細節。 –

回答

0

你試過了moduleclass_sfx嗎? 定義一個CSS類,如:

.myModule { 
    background-image: url('myimage.png'); 
} 
.myComponent { 
    background-image: url('mycompimage.png'); 
} 
.myArticle { 
    background-image: url('myarticleimage.png'); 
} 

然後在每個模塊/部件參數選項模塊class_sfx尾隨空間(比如:「myComponent的」(沒有引號))輸入所需的類。

另一種方式去可能是通過定義組件/模塊參數,並呼籲:

<body style="background-image: url('/path_to_image_folder/<php echo $params->get('param_name') ?>');"> 

或者可能沒有很好地理解你的問題,但希望它幫助。

+0

馬里奧,謝謝你的迴應。我可以看到你的想法,並欣賞反饋,但在這種情況下,我認爲它不能滿足需要。我已經在上面列出了一些更多信息,希望它能讓它更清晰! :-) –