0

我们正在使用 Tridion 2011 SP1。发布页面后,页面的源代码变得扭曲。Javascript 和其他 HTMl 部分出现在同一行,它似乎忽略了换行符,但如果我们将粘贴页面源复制到 Notepad++ 对齐看起来不错,但在页面源中显示它已损坏。即使在页面预览源是正确的。可以做些什么来解决这个问题。

4

2 回答 2

2

首先,正如其他人已经指出的那样,这应该是完全没有必要的,并且绝对不会影响您网站的正常运行。这纯粹是肤浅的。事实上,正如 Chris 所提到的,许多开发人员都在努力尽可能地“缩小”他们的代码,以减少通过网络传输给用户的比特数量。

但是,如果您真的需要 Windows 样式的行尾,以下 .Net TBB 应该会有所帮助。确保在生成输出后运行它。

using Tridion.ContentManager.Templating;
using Tridion.ContentManager.Templating.Assembly;

namespace SDLTridion.Bootstrap.Templating
{
    [TcmTemplateTitle("Enforce Windows Line Ending")]
    public class EnforceWindowsLineEnding : ITemplate
    {
        public void Transform(Engine engine, Package package)
        {
            Item outputItem = package.GetByName(Package.OutputName);
            string outputContent = outputItem.GetAsString();
            outputContent = outputContent.Replace("\r", "\r\n");
            outputItem.SetAsString(outputContent);
        }
    }
}
于 2013-02-04T14:35:40.850 回答
2

默认情况下,tridion 仅使用换行符来指示行尾,但大多数 Windows 应用程序都希望行尾标记为回车换行符,并将仅包含换行符的文本显示为只有一行。

您可以修改您的发布代码,因此呈现过程中的最后一个步骤是在所有之前没有回车的换行符之前附加一个回车,然后页面源将不会出现“扭曲”

需要注意的一点是,这不应该对页面呈现给最终用户的方式产生任何影响。

于 2013-02-04T13:53:51.580 回答