Tridion用户界面2012 - 在创建页面/插入内容时找不到Razor助手

时间:2012-08-02 10:20:41

标签: razor tridion tridion-2011 razor-mediator

我正在使用Tridion 2011 SP1和Razor模板但是在通过用户界面2012创建页面和插入内容时遇到了问题。当我尝试使用Tridion.ContentManager中列出的Razor助手,命名空间和程序集时出现.config文件没有包含在内。

我尝试直接在razor模板中添加对助手的引用,一切正常,但我宁愿不必在每个Razor模板中都这样做。

当我尝试通过UI创建页面时,我收到以下Razor错误:

TemplateCompileException: CS0103: The name 'GetBreadcrumbStatus' does not exist 
in the current context Line 64 Column 21: if(GetBreadcrumbStatus())

我的Tridion.ContentManager.config文件包含Razor Mediator的以下内容:

<razor.mediator cacheTime="600" extractBinaries="true">
 <namespaces>
  <add namespace="Tridion.Extensions.Mediators.Razor.Models" /> 
  <add namespace="System.Linq" />
 </namespaces>
 <imports>
  <add import="C:\Program Files (x86)\Tridion\Razor Mediator\Helpers\GeneralHelper.cshtml" />
 </imports>
</razor.mediator>

除非直接在Razor模板中引用,否则有关UI为何不包含帮助程序和名称空间的任何想法?

提前致谢。

1 个答案:

答案 0 :(得分:9)

会话预览机制的一些背景

新的UI为其会话预览机制使用特殊类型的发布者,该机制优化了发布过程,以获得人们在这样的环境中所期望的“近实时”行为。优化的发布者通过跳过某些步骤来实现这一点,其中一个步骤是减少解析过程(因此发布的项目更少),而不是调用自定义解析器。

关于你的问题

创建新页面时,您的Razor模板是否完全被调用?