Tridion 默认UGC tbb代码
在这里,我们可以找到用户生成的注释项目的默认.net tbb代码。如果有人能提供任何其他示例代码,那也太好了Tridion 默认UGC tbb代码,tridion,ugc,Tridion,Ugc,在这里,我们可以找到用户生成的注释项目的默认.net tbb代码。如果有人能提供任何其他示例代码,那也太好了 提前感谢。要插入UGC注释,您需要添加TCDL标记、JSP标记库标记或ASP.NET服务器控件,这些将在内容交付端解决 ASP.NET服务器控件 JSP自定义标记 TCDL标签 我建议您查看一下(需要登录)。 您将在其中找到所有UGC命令的列表。您在服务器上安装Tridion时是否安装了用户生成的内容?默认UGC TBB代码,我希望对您非常有用 namespace Tridion.U
提前感谢。要插入UGC注释,您需要添加TCDL标记、JSP标记库标记或ASP.NET服务器控件,这些将在内容交付端解决
- ASP.NET服务器控件
- JSP自定义标记
- TCDL标签
您将在其中找到所有UGC命令的列表。您在服务器上安装Tridion时是否安装了用户生成的内容?默认UGC TBB代码,我希望对您非常有用
namespace Tridion.Ugc.Templating.DefaultTemplates
{
using System;
using Tridion.ContentManager;
using Tridion.ContentManager.Templating;
public static class Helper
{
public static ApplicationData GetApplicationData(Engine engine, Package package)
{
IdentifiableObject obj2 = engine.GetObject(package.GetByType(engine.PublishingContext.ResolvedItem.IsComponentPresentation ? ContentType.Component : ContentType.Page));
ApplicationData data = obj2.LoadApplicationData("ugc:ComponentAndPage");
if (data == null)
{
TemplatingLogger.GetLogger(typeof(EnableUgcProcessing)).Warning(string.Format("No UGC application data for {0} found, UGC output will be disabled", obj2.Id));
}
return data;
}
}
}
namespace Tridion.Ugc.Templating.DefaultTemplates
{
using System;
using System.Text;
using System.Xml;
using Tridion.ContentManager;
using Tridion.ContentManager.Templating;
using Tridion.ContentManager.Templating.Assembly;
[TcmTemplateTitle("Enable User Generated Content Processing")]
public class EnableUgcProcessing : ITemplate
{
public void Transform(Engine engine, Package package)
{
ApplicationData applicationData = Helper.GetApplicationData(engine, package);
bool flag = false;
bool flag2 = false;
bool flag3 = false;
bool flag4 = false;
string innerText = null;
string str2 = null;
if (applicationData != null)
{
XmlDocument document = new XmlDocument();
document.LoadXml(Encoding.Unicode.GetString(applicationData.Data));
XmlNode node = document.SelectSingleNode("*/allowtocomment");
if (node != null)
{
flag = XmlConvert.ToBoolean(node.InnerText);
}
node = document.SelectSingleNode("*/showcomments");
if (node != null)
{
flag2 = XmlConvert.ToBoolean(node.InnerText);
}
node = document.SelectSingleNode("*/allowtorate");
if (node != null)
{
flag3 = XmlConvert.ToBoolean(node.InnerText);
}
node = document.SelectSingleNode("*/showunmoderatedcomments");
if (node != null)
{
flag4 = XmlConvert.ToBoolean(node.InnerText);
}
node = document.SelectSingleNode("*/sortcomments/field");
if (node != null)
{
innerText = node.InnerText;
}
node = document.SelectSingleNode("*/sortcomments/direction");
if (node != null)
{
str2 = node.InnerText;
}
}
Tridion.ContentManager.Templating.Item item = package.CreateStringItem(ContentType.Text, flag.ToString());
package.PushItem("allowtocomment", item);
item = package.CreateStringItem(ContentType.Text, flag2.ToString());
package.PushItem("showcomments", item);
item = package.CreateStringItem(ContentType.Text, flag3.ToString());
package.PushItem("allowtorate", item);
item = package.CreateStringItem(ContentType.Text, flag4.ToString());
package.PushItem("showunmoderatedcomments", item);
if (innerText != null)
{
item = package.CreateStringItem(ContentType.Text, innerText);
package.PushItem("sortcommentsby", item);
}
if (str2 != null)
{
item = package.CreateStringItem(ContentType.Text, str2);
package.PushItem("sortdirection", item);
}
}
}
}
谢谢斯坦。。我知道所有这些。。。我正在寻找默认UGC TBB的代码,如“启用用户生成的内容处理”,您可以使用.net Reflector、ILSpy或任何其他反编译器,使用默认TBB将.net组件反编译为C#代码。要在Tridion中查找具有默认UGC TBB的dll,请在CME Tridion.UGC.Templating.DefaultTemplates TBB中打开并将.net程序集保存到磁盘。然后你可以用反编译器打开它,并获得默认TBB的C#代码。当然,你不会这么做,因为这会违反你的许可证!不过,了解这项技术并没有坏处。当然,从纯理论的角度来看。您确实意识到这是受版权保护的代码,您不能共享?有趣的回答,我们是否有兴趣让您承诺。如果您有时间,请使用相同的SO帐户注册。