SDL Tridion2011SP1のDreamweaverTBBのコンポーネントに対してSiteEdit2009を有効にしています。
コンテンツ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内の繰り返し可能な埋め込み可能なスキーマ
DreamweaverTBBは次のとおりです。
<!-- 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>
SiteEdit 2009の「インライン編集を有効にする」をコンポーネントテンプレートに追加すると、次のエラーが表示されます。
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の制限ですか?