2017-08-04 83 views
1

我剛剛參與了一個項目,該項目使用joomla來管理其主頁,並開始學習joomla的基礎知識。joomla:動態內容的多視圖

到目前爲止,我看到joomla相當不錯,如果你有靜態內容的網頁,你可以很好地管理它們。但我現在想要的是將動態內容添加到此頁面(從數據庫或其他後端獲取)。如果我理解正確的原則,那麼可以使用模塊甚至組件來做到這一點(我不確定插件如何爲這些事情提供幫助)。但是,我是否需要爲每個包含動態內容的視圖創建一個模塊?

我想要的是類似於服務的地方,我可以實現數據獲取邏輯,然後應該可以使用所見即所得的編輯器創建視圖,我可以在其中插入php獲取的值。我已經知道可以通過擴展Sourcerer在所見即所得的編輯器中使用php。

最後,我想有這樣的事情在所見即所得的編輯器:

{source} 
<?php 
$data = service.fetchData(...); // fetches view specific data from a central service which gets the data from a backend or a database 
?> 
{/source} 

...html code (in WYSIWYG style) 
<p>Hello {source}<?= $data['name']?> {/source} </p> <------ accessing the php data in the html 
... further html code 

我怎麼能做到這樣的事情,這樣其也容易讓別人誰是不是一個PHP開發人員創建具有動態內容的視圖,而無需爲具有動態內容的每個不同視圖創建新模塊?或者我只是不明白joomla的原則,這可以用一些完全不同的(更容易?)的方式來完成。

回答

1

確實可以使用模塊或插件插入動態內容。但是你只需要編寫一個模塊或插件,因爲兩者都可以使用參數。

根據您的描述我想達到的效果最簡單的方法可以讓你將

一)創建內容插件,取代您的論文文本的自定義代碼;它應該是很容易爲你解析,像

[myservice:{year:2017, country:'uk'}]

這樣你的插件可以測試代碼很容易,然後檢索所需要的參數。

B)創建編輯-XTD插件的編輯器,讓用戶可以輕鬆地插入代碼。這將使用戶很容易插入數據並可能防止大多數錯誤。

此方法具有編碼最少的優點(插件可以像單個文件一樣簡單,而模塊則需要編寫更多文件)。除此之外,使用[loadposition]短代碼模塊也可以工作。但是,您仍然需要一個editors-xtd插件來幫助用戶編寫簡碼並傳入參數。