我在SDL Tridion 2011 SP1中爲Dreamweaver TBB中的組件啓用SiteEdit 2009。將Enable Inline Editing添加到組件模板後在預覽組件時出錯
內容XML:
<Content>
<AAA>
<BBB>
<CCC>Title 1</CCC>
<DDD>Name 1</DDD>
</BBB>
<BBB>
<CCC>Title 2</CCC>
<DDD>Name 2</DDD>
</BBB>
</AAA>
<AAA>
<BBB>
<CCC>Title 1</CCC>
<DDD>Name 1</DDD>
</BBB>
<BBB>
<CCC>Title 2</CCC>
<DDD>Name 2</DDD>
</BBB>
</AAA>
</Content>
的字段的描述是:
- AAA - 重複嵌入式架構
- BBB - 重複嵌入的內AAA 架構
Dreamweaver的TBB是:
<!-- TemplateBeginRepeat name="AAA" -->
<!-- TemplateBeginRepeat name="Field.BBB" -->
<div>@@RenderComponentField(FieldPath+".CCC", 0)@@ </div>
<div>@@RenderComponentField(FieldPath+".DDD", 0)@@ </div>
<!-- TemplateEndRepeat -->
<!-- TemplateEndRepeat -->
我在組件模板中添加了此TBB並預覽了組件。它顯示了沒有錯誤的確切預覽。
我的組件模板的高級源看起來是這樣的:
<TemplateInvocation>Dreamweaver TBB</TemplateInvocation>
<TemplateInvocation>Enable Inline Editing</TemplateInvocation>
當我添加「啓用內聯編輯」 2009年SiteEdit到組件模板它顯示了這個錯誤:
Debugging was started in process 'TcmTemplateDebugHost' with id 9244
Object reference not set to an instance of an object.
at Tridion.ContentManager.Templating.Templates.EnableInlineEditing.FindItemFieldXPath(String[] parts, Int32 currentIndex, ItemFields fields, Boolean& isMultiValue)
at Tridion.ContentManager.Templating.Templates.EnableInlineEditing.FindItemFieldXPath(String[] parts, Int32 currentIndex, ItemFields fields, Boolean& isMultiValue)
at Tridion.ContentManager.Templating.Templates.EnableInlineEditing.FindItemFieldXPath(String[] parts, Int32 currentIndex, ItemFields fields, Boolean& isMultiValue)
at Tridion.ContentManager.Templating.Templates.EnableInlineEditing.DetermineXPathForField(TcmUri componentUri, String fieldName, Boolean& isMultiValue)
at Tridion.ContentManager.Templating.Templates.EnableInlineEditing.ProcessComponentFieldTag(ITcdlTag tag)
at Tridion.ContentManager.Templating.TcdlParser.ProcessText(String text, TagHandler tagHandler, Boolean& wasModified)
at Tridion.ContentManager.Templating.TcdlParser.ProcessText(String text, TagHandler tagHandler)
at Tridion.ContentManager.Templating.TcdlParser.Process(Item item, TagHandler tagHandler)
at Tridion.ContentManager.Templating.Assembly.AssemblyMediator.Transform(Engine engine, Template template, Package package)
at Tridion.ContentManager.Templating.Assembly.CSharpSourceCodeMediator.RunTemplate(Engine engine, Package package, String templateUri, String className)
at Tridion.Templating.CSharpTemplate.CSharpSourceTemplate.Transform(Engine __engine, Package __package)
at Tridion.ContentManager.Templating.Assembly.CSharpSourceCodeMediator.Transform(Engine engine, Template template, Package package)
at Tridion.ContentManager.Templating.Engine.ExecuteTemplate(Template template, Package package)
at Tridion.ContentManager.Templating.Engine.InvokeTemplate(Package package, TemplateInvocation templateInvocation, Template template)
at Tridion.ContentManager.Templating.Compound.CompoundTemplateMediator.Transform(Engine engine, Template templateToTransform, Package package)
at Tridion.ContentManager.Templating.Engine.ExecuteTemplate(Template template, Package package)
at Tridion.ContentManager.Templating.Engine.InvokeTemplate(Package package, TemplateInvocation templateInvocation, Template template)
at Tridion.ContentManager.Templating.Engine.TransformPackage(Template template, Package package)
at Tridion.ContentManager.Templating.Debugging.DebuggingEngine.Run()
at Tridion.ContentManager.Templating.Debugging.DebugSession.Run()
任何人都可以分享他們的觀點嗎?
它是SiteEdit 2009的限制嗎?
分辨率完全取決於您所得到的錯誤。不幸的是,你實際上沒有顯示完整的錯誤,所以不可能說出可能出錯的地方。很可能,這是一個缺少或不正確參數的問題。檢查模板生成器或事件日誌中的日誌以獲取確切的詳細信息。 –
對不起。我錯過了。現在我已經用Template Builder的日誌更新了這個問題。 – Patan
您是否在運行此代碼的服務器上安裝SiteEdit 2009?在這種情況下,這將是您與模板構建器連接的服務器。 – Quirijn