2

ユーザー生成コメント プロジェクトのデフォルトの .net tbbコードを見つけることができる場所。また、誰かが他のサンプル コードを提供してくれると助かります。

前もって感謝します。

4

3 に答える 3

10

UGC コメントを挿入するには、コンテンツ配信側で解決される TCDL タグ、JSP タグ ライブラリ タグ、または ASP.NET サーバー コントロールを追加する必要があります。

  • ASP.NET サーバー コントロール<ugc:Comments runat="server">
  • JSP カスタム タグ <ugc:Comments>
  • TCDL タグ <tcdl:Comments>

sdllivecontent ポータルで 2011のドキュメントを参照することをお勧めします(ログインが必要です)。すべての UGC コマンドのリストがあります。

于 2012-08-10T07:36:48.770 に答える
4

デフォルトのUGCTBBコード、私はあなたにとって非常に役立つことを願っています。

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);
            }
        }
    }
}
于 2012-08-22T02:20:18.353 に答える
1

サーバーにTridionをインストールしたときに、ユーザー生成コンテンツをインストールしましたか?

于 2012-08-11T12:26:22.177 に答える