2010-08-13 74 views
1

我有一個joomla isntallation,通常會顯示一些文章,但是當我添加一篇youtube視頻文章時,所見即所得編輯器將嵌入代碼中的特殊字符轉換爲html實體。 那麼,我假設它的編輯器,因爲它不會發生,當我不使用它。joomla在內容中顯示html

之後的問題是,如果我轉到文章,我會看到Flash播放器的嵌入代碼,而不是呈現的Flash播放器。

我使用的Joomla 1.5與PHP 5安裝。 我認爲joomla默認使用html_entity_decode()內容? 有誰知道爲什麼發生這種情況,可以指導我哪些文件或模板文件,我需要使用該功能請和謝謝。

回答

0

差不多的Joomla編輯帶HTML,CSS,JS從內容

這樣你就可以在你的編輯器設置中禁用乾淨的HTML或

它能夠更好地使用任何插件嵌入的YouTube代碼(有很多)

使用這個插件從幾乎任何供應商嵌入視頻(YouTube,VIMEO,優酷等)

http://extensions.joomla.org/extensions/multimedia/video-players-a-gallery/812

+0

感謝您的插件鏈接,我也會看看其他幾個人。 – zcourts 2010-08-13 20:20:02

+0

只是想知道,但爲什麼你說使用第三方插件來嵌入視頻更好?根據我的經驗,這是過度的,並增加了額外的一層不必要的複雜性。 – derekerdmann 2010-08-13 23:14:24

+0

確實它增加了更多的處理,我們(管理員)更喜歡html方式,但有一些作者在您的網站上寫作,他們不會樂意使用無編輯器自己嵌入播放器 – 2010-08-24 21:17:45

0

您必須將您的代碼片段嵌入到由編輯器生成的HTML源代碼中。大多數所見即所得的編輯器都有一個按鈕,允許您直接查看HTML;點擊它,你應該能夠粘貼你的嵌入代碼。

但是,可能有一些設置需要更改才能完全運行。這已經過去了一段時間,但是你可能需要去TinyMCE插件(在插件管理器中)並將「保存時的代碼清理」設置爲「從不」。在「文章管理器」參數部分還有一個用於允許的HTML標籤的過濾器,因此您可能還需要在那裏調整黑名單。

+0

感謝您的回覆。我的確在非HTML視圖中插入了嵌入代碼,但編輯器然後將嵌入代碼轉換爲html實體,我只注意到它沒有被播放時我看了一下joomla表。 – zcourts 2010-08-13 20:18:36

+0

@ robinsonc494 - 是的,你必須進入TinyMCE插件設置,就像我在文章的第二部分提到的那樣。當然,您可能可以使用第三方插件來使嵌入工作,但是如果您禁用「保存代碼清理」,則不需要。 – derekerdmann 2010-08-13 23:12:37

0

正如您收集的編輯器正在查殺您的代碼。這有兩個原因 -

  1. 如果你插入代碼,很容易有糟糕的代碼,將打破頁面下游的東西。只留下一個會殺死一個頁面。
  2. 出於安全原因。你不希望人們能夠從編輯器中插入惡意代碼。一般來說,清理用戶輸入以防止各種攻擊是一個好主意。

建議您爲此類型的東西使用插件,因爲它可以讓您更好地控制用戶輸入。它保證用於嵌入視頻的代碼每次都是正確的,並且不會插入額外的代碼,因爲所有繁重的工作都是由插件處理的。一個寫得很好的插件的額外處理時間是最小的,除非您的網站獲得數百萬的頁面瀏覽量,否則您不會在網站性能上看到任何明顯的差異。

如果你真的想通過編輯器做到這一點,有一個技巧。您不僅需要在編輯器的HTML視圖中插入代碼,還必須在代碼視圖中保存文章。編輯器的HTML視圖狀態通常是持久的,因此在返回到已插入代碼的文章之前,您需要確保自己處於HTML視圖中,否則只需打開文章就會弄亂插入的代碼。

最後,還有一些擴展允許你直接在代碼中插入代碼。我不喜歡那些人,因爲他們確實構成了安全風險。