在SDL Tridion 2011 Sp1中为.Net模板构建块启用内联编辑

在SDL Tridion 2011 Sp1中为.Net模板构建块启用内联编辑,tridion,tridion-2011,Tridion,Tridion 2011,我正在SDL Tridion 2011 SP1的.Net TBB上工作 我的组件源代码如下所示 ABCD 我试过这样的东西 使用系统; 使用System.Collections.Generic; 使用System.Linq; 使用系统文本; 使用Tridion.ContentManager.Templating.Assembly; 使用Tridion.ContentManager.Templating; 使用Tridion.ContentManager.ContentManagement;

我正在SDL Tridion 2011 SP1的.Net TBB上工作

我的组件源代码如下所示


ABCD
我试过这样的东西

使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用Tridion.ContentManager.Templating.Assembly;
使用Tridion.ContentManager.Templating;
使用Tridion.ContentManager.ContentManagement;
使用Tridion.ContentManager.ContentManagement.Fields;
使用System.IO;
使用系统集合;
使用System.Xml;
使用System.Xml.Linq;
命名空间类库1
{
公共类示例模板:ITemplate
{
/// 
///根据ITemplate定义的变换。
/// 
///模板引擎
///要处理的包
公共无效转换(引擎、包)
{
使用(MemoryStream mem=new MemoryStream())
{
组件组件=engine.GetObject(package.GetValue(“Component.ID”))作为组件;
ItemFields内容=新的ItemFields(component.content,component.Schema);
xHTML字段温度=(xHTML字段)内容[“单个”];
int i=0;
XmlDocument xdoc=新的XmlDocument();
xmlementroot=xdoc.CreateElement(“主体”);
XElement xe=null;
foreach(临时值中的字符串值)
{
字符串j=i.ToString();
XmlNode xnode=xdoc.CreateNode(XmlNodeType.Element,@“tcdl:ComponentField”,“tcdlNamespace”);
xmldattribute name=xdoc.CreateAttribute(“名称”);
xmldattribute index=xdoc.CreateAttribute(“索引”);
name.Value=“single”+“[“+i+”]”;
index.Value=“0”;
xnode.Attributes.Append(名称);
xnode.Attributes.Append(索引);
AppendChild(xnode);
i++;
}
package.PushItem(“输出”,package.CreateHtmlItem(xdoc.InnerText));
}
}
}
}
这里的“单”是多值字段

我得到了空白输出

有谁能帮忙做这件事吗

谢谢。

而不是:

package.PushItem("Output", package.CreateHtmlItem(xdoc.InnerText));
使用


另外,我注意到您没有在任何地方使用字段值。您正在对其进行迭代,但值没有添加到输出中,不确定这是否是您想要的

@ArjenStobbe。我得到了一个空白屏幕。谢谢你的澄清
package.PushItem("Output", package.CreateHtmlItem(root.OuterXml));