0

Tridion 2011 SP1 を使用しています。公開後、ページのページ ソースが歪んでいます。Javascript とその他の HTMl セクションが同じ行に表示されます。改行文字を無視しているように見えますが、貼り付けページ ソースを Notepad++ にコピーすると、配置は適切に見えますが、ページ ソースでは歪んで表示されます。ページプレビューソースでもちゃんと来ています。これを修正するために何ができるか。

4

2 に答える 2

2

デフォルトでは、tridion は改行のみを使用して行の終わりを示しますが、ほとんどの Windows アプリケーションは、行末マーカーが復帰改行であることを想定しており、改行のみのテキストを 1 行として表示します。

パブリッシング コードを変更して、レンダリング プロセスの最終ステップの 1 つで、まだ改行がないすべての改行の直前に改行を追加すると、ページ ソースが「歪んで」表示されなくなります。

注意すべきことの 1 つは、これがページがエンドユーザーに表示される方法に影響を与えるべきではないということです。

于 2013-02-04T13:53:51.580 に答える
2

まず、他の人がすでに指摘しているように、これは完全に不要であり、Web サイトの適切な機能にはまったく影響しません。それは純粋に表面的なものです。実際、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 に答える