2010-12-29 16 views
1

Ich möchte den Tinymce-Editor verwenden, um Smarty-Vorlagen zu bearbeiten. Das Problem ist, dass der Editor den Code immer neu anordnet. Wenn ich diesen Code in das HTML-Fenster:Deaktivieren TinyMCE automatische Bereinigung

<table border="0"> 
<tbody> 
<tr> 
<td>&nbsp;</td> 
<td>&nbsp;</td> 
</tr> 
{if empty($test)} 
<tr> 
<td>&nbsp;</td> 
<td>&nbsp;</td> 
</tr> 
{/if} 
</tbody> 
</table> 

diesem Code verwandelt sich in nach Anklicken der Schaltfläche OK:

<p>{if empty($test)} {/if}</p> 
<table border="0"> 
<tbody> 
<tr> 
<td>&nbsp;</td> 
<td>&nbsp;</td> 
</tr> 
<tr> 
<td>&nbsp;</td> 
<td>&nbsp;</td> 
</tr> 
</tbody> 
</table> 
+0

Haben nicht Smarty verwendet, aber vielleicht wird dieser Link helfen: http://tinymce.moxiecode.com/forum/viewtopic.php?id=2694 oder dies tatsächlich : http://tinymce.moxiecode.com/wiki.php/Configuration:cleanup setze es vielleicht auf false? – Don

+0

hat nicht funktioniert :-( – ynh

+0

... oder noch besser, verwenden Sie einfach einen Texteditor http://www.jedit.org.;) – JakeParis

Antwort

2

Ich habe noch nie eine geschrieben, aber ich gehe davon aus, dass JavaScript-gestützte HTML-Editoren nicht direkt mit HTML arbeiten. Stattdessen erstellen sie wahrscheinlich einen DOM-Baum im Speicher. Sie arbeiten nicht an reinem HTML, sondern an Smarty-Code. Das bedeutet, dass Sie immer Informationen verlieren, wenn Sie es als HTML behandeln, da es nicht so ist. Das Beispiel, das Sie geben, veranschaulicht es ziemlich gut: es gibt keine Möglichkeit, diese Zeichenfolge als HTML darzustellen; Wenn Sie es in einem Browser öffnen, sieht es kaputt aus.

Die einfache Tatsache ist, dass visuelle HTML-Editoren zum Bearbeiten von HTML entwickelt wurden. Nur Smarty-Vorlagen ähneln HTML.

+1

Das ist richtig, ich habe die Klammern mit dem HTML-Kommentar-Tag ersetzt. Jetzt ist der Code HTML valide. ynh

1

Alle Text in einem HTML-Container sein muss - in der Regel ein p- Etikett. Das ist der Grund, warum

{if empty($test)} 

zu

verwandelt
<p>{if empty($test)} {/if}</p> 

. Sie können diesen Code in ein Tag Ihrer Wahl einfügen, aber es muss in einem Element sein!

0

Benutze HTML-Kommentare statt:

<table border="0"> 
<tbody> 
<tr> 
<td>&nbsp;</td> 
<td>&nbsp;</td> 
</tr> 
<!-- {if empty($test)} --> 
<tr> 
<td>&nbsp;</td> 
<td>&nbsp;</td> 
</tr> 
<!-- {/if} --> 
</tbody> 
</table> 
Verwandte Themen