カスタム テーマを使用して、スクリプト、CSS などを <head> 要素に直接挿入することもできます。document.cshtml の既定の形状には、さまざまな形状をレンダリングできる Head という名前のゾーンがあります。
document.cshtml の @Display(Model.Head) 呼び出しに注意してください。
<head>
<meta charset="utf-8" />
<title>@Html.Title(title, siteName)</title>
@Display(Model.Head)
<script>(function(d){d.className="dyn"+d.className.substring(6,d.className.length);})(document.documentElement);</script>
</head>
<body>
@* Layout (template) is in the Body zone @ the default position (nothing, zero, zilch) *@
@Display(Model.Body)
@Display(Model.Tail)
</body>
</html>
つまり、要素に何かを追加したい場合は、たとえば、カスタム テーマの layout.cshtml から次の操作を実行できます。
@{
WorkContext.Layout.Head.Add(New.Analytics(), "10");
}
テーマの Views フォルダーに Analytics.cshtml を配置します。
<script>
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date(); a = s.createElement(o),
m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-XXXXXXX-X', 'auto');
ga('send', 'pageview');
</script>