1

我正在使用 orchard CMS 建立一个网站,我通过 orchard 的文本编辑器添加了一个页面。我输入以下代码并保存:

<a class="tile wide imagetext bg-color-blue" href="./bootstrap-scaffolding.html">
     <div class="image-wrapper">
          <img src="content/img/My Apps.png" />
      </div>
      <div class="column-text">
      <div class="text">Grid system</div>
          <div class="text">Layouts</div>
          <div class="text">Responsive design</div>
       </div>
     <span class="app-label">SCAFFOLDING</span>
</a>

但是我发现再次打开编辑器时,文本编辑器中的代码发生了变化,它们是:

<h2>Bootstrap Metro</h2>
<div class="image-wrapper"><img src="content/img/My Apps.png" /></div>
<div class="column-text">
<div class="text">Grid system</div>
<div class="text">Layouts</div>
<div class="text">Responsive design</div></div>
<a class="tile wide imagetext bg-color-blue" href="./bootstrap-scaffolding.html"><span class="app-label">SCAFFOLDING</span> </a>

修改后的代码是:

<a class="tile wide imagetext bg-color-blue" href="./bootstrap-scaffolding.html"><span class="app-label">SCAFFOLDING</span> </a>

你能给我什么建议吗?

4

2 回答 2

9

我通过更改 TinyMCE 选项(在 orchard-tinymce.js 中,但您可以尝试使用 TinyMceDeluxe,它有一些配置选项的替代方法)。

, forced_root_block: false
, preformatted: true
, schema: 'html5'
, valid_children: '+a[div],+a[span]'

我很确定是“valid_children”设置解决了这个问题,但它之前的其他设置是我首先尝试的,当我尝试使用 valid_children 时,我将它们放在配置中。您可以尝试删除其他选项并仅使用 valid_children 来查看它是否有效。

还有一个可能有效的 doctype 选项;它控制 TinyMCE 创建的 iframe 的文档类型。在 HTML5<div>中,元素是 a 标签的有效子元素,因此如果 tinyMCE 代码正确应用了 doctype 或 schema 规则,我们就不必设置 valid_children。(这就是为什么我在上面尝试过schema: 'html5',但这似乎不起作用)

于 2012-10-19T13:53:05.290 回答
0

可能是 TinyMCE 更改了 HTML 以匹配一些 TinyMCE 规则。您可以禁用 TinyMCE 模块,该模块将为您提供一个纯文本区域,您可以在其中输入不会更改的 HTML。

有一个TinyMCE 豪华模块可以让您选择更改此行为。

于 2012-10-19T10:44:35.300 回答