2010-08-13 72 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视图中,否则只需打开文章就会弄乱插入的代码。

最后,还有一些扩展允许你直接在代码中插入代码。我不喜欢那些人,因为他们确实构成了安全风险。