天天看點

DNN基礎知識FAQ(1)

Q:DNN内容是怎麼生成的,網頁是存在資料庫裡的還是本地目錄裡

A:DNN的内容都是通過各種子產品錄入,網頁内容是存儲在資料庫裡的,沒有靜态化。

Q:如果網頁是存在資料庫裡的,那通路網站的人多時會很慢嗎?

A:會慢一點,這是DNN的一個弱點。

Q:能用DNN做類似新浪的門戶網站不?

A:可以,當然,不會像新浪那麼成熟。使用文章子產品就可以實作。

Q:DNN漢化包都是使用者上傳的嗎?可以自己在DNN裡面修改然後建立語言包嗎?

A:漢化包都是DNN愛好者自己制作的,比如中國DNN團隊。你也可以自己為DNN的最新版本制作漢化包。

Q:我下載下傳的源碼,但子產品不全。

A:現在的源碼包隻包含很少的幾個子產品,需要子產品再單獨下載下傳安裝。

Q:為什麼DNN運作這麼慢的,有時候打不開,打開工程時特慢,不知道什麼啥問題,我用的是4.4.

A:DNN第一次運作慢是因為ASP.NET的本身的特性。打開DNN的工程是比較慢,因為DNN裡的porject比較多。不過機器配置高的話,應該感覺還可以,推薦配置雙核3.0G, 1G記憶體。機器配置底的話會很慢很慢,慢到不反應。

Q:官方沒有文章子產品,那用哪個來實作?

A:文章子產品推薦使用“永日文章子產品”,1.0.9是免費的版本。到2.0就收費了。

Q:我使用的是C#的,源碼都是VB.NET,這個怎麼辦?

A:其實.NET上面,VB還是C#影響不大,都很好讀懂,源碼你隻要讀就可以了,開發就用C#。

Q:DNN隻能按照它提供的幾個位置添加子產品内容嗎

A:不是,可以任意安排版式,在皮膚制作裡實作。

Q:必須是和子產品對應的版本才能安裝嗎?

A:子產品版本和DNN版本沒有對應關系。

Q:高版本DNN 應該可以支援之前版本開發的子產品的吧?

A:對于DNN,是向後相容的。大部分老子產品都可以在新版本的DNN運作。但對于開發,很多老子產品調用的DNN接口都已經廢除了,這要注意。

Q:Solpartmenu 如何實作背景透明

A:使用png,如果使用CSS濾鏡,上面的字也會變為透明。

Q:dnn中為什麼有些簡單的驗證不使用javascript,非送出到背景去判斷?可以人為的在一些表單填寫上加入js驗證嘛?我加了一下,不大管用,比如如果某一項為空,彈出alert框提示。請指點?

A:使用javascript是沒有問題的,比如你在注冊的時候,如果你有東西沒有填,就會出現提示,雖然不是彈出視窗,但原理是一樣的。

當然,這是VS自帶的Validator控件,但Validator本身用的就是用戶端的JavaScript,是以要是你自己手寫一個一樣是沒有問題的。

要注意一點的就是路徑的問題,DNN實際上是永遠運作在根目錄下面的,也就是Default.aspx所在目錄,如果你把Javascript放到了根目錄以外的地方,你要保證運作的時候能找到這個js檔案。

Q:另外在每個子產品幾乎都有緩存設定,主機設定裡面也有,到底應該怎麼去設定,設定多少為合适,這個論壇好象還沒有人回答,我想這也是很多人關心的,迫切希望你們能夠給予解釋。

A:緩存如何設定取決于你子產品裡面的内容,如果你子產品裡的内容變化很少,比如Text/HTML子產品,那可以設定得很長,如果一個小時都可以。但如果你子產品的内容變化很快,那就要設定小一些,甚至設為0。

主機那裡的設定應該是一個全局的設定,根據你網站整體情況來設這個值,如果都是變化小的内容(如果政府的政策網站)可以設長點。

Q:我想實作dnnchina首頁左下角那種帶圖檔的友情連接配接功能,知道是linkimage子產品,但是從網上找了一下,好象隻有支援3.幾版本的,沒有

4.幾版本的,上傳子產品時發生錯誤,在24畫師傅的blog裡下了一個類似的子產品,叫clink,但是在上傳的過程種,剛開始還是正确的,但是最後出現以

下錯誤,如下所示:

A:linkimage是可以在DNN 4裡用的,我不是很清楚現在最高版本是那個,但一點就是3.X的子產品不一定就不能在DNN

4.x裡面用,這個是向下相容的。并且我現在的DNN

Q:中文語言包,怎麼安裝,難道是對應檔案夾直接覆寫麼?

A:在"host->languages"下面可以上傳語言包。站點顯示的語言取決于host帳戶和站點admin帳戶的語言區域設定。

Q:請問使用DNN的News Feed子產品,怎麼把每條新聞的标題提出來顯示,點标題再連結到新聞的内容上去?

A: News Feed子產品可以指定RSS的XML源,然後再指定XSLT源。通過特定的XSLT,在XSLT裡設樣式就可以實作你要的效果。

Q:在DNN裡面設定了新注冊頁面,但新的注冊頁面上又沒有登入控件,導緻無法登入。

A:解決辦法是修改資料庫中的表 portals , 把LoginTabID 改回Null就可以了