0

私は Tridion 2011 のユーザー生成コンテンツ機能に取り組んでいます。ユーザーがページ/コンポーネントにコメントできるオプションを提供しました。

これを実装した後、ユーザーはページ/コンポーネントでコメントを正常に送信できます。しかし、私はこの機能で1つの問題に直面しています.

ユーザーが XXX というユーザー名と XXX@XX.com の電子メール アドレスを使用してページにコメントを投稿し、しばらくして他のユーザーが同じブラウザーからそのページを開き、別の名前でコメントを送信すると、正常に送信されたとします。

しかし、Trdion ページでこれらのコメントの詳細を見ると、両方のコメントが同じユーザー名で表示されます。他のユーザーが同じブラウザーからページにコメントを送信した場合、ユーザー名は変更されません。

さらに調査したところ、Cookie からユーザー名を選択する Tridion のユーザー生成コンテンツであることがわかりました。しかし、ブラウザからそのページのCookieを削除したら、ユーザーがユーザー名テキストフィールドに渡した現在のユーザー名を選択します。

現在のユーザー名を選択するUGCのmanagecommentにプロパティまたは設定がありますか?

<ugc:ManageComments runat="server" ItemURI="@PhysicalUri" PostParameter="addComment@{ @PhysicalUri}" UsernameParameter="one@{ @ItemID }" EmailParameter="email@{ @PhysicalUri}" EditParameter="editComment@{ @PhysicalUri}" CommentIdParameter="commentId@{ @PhysicalUri}" RemoveParameter="removeComment@{ @PhysicalUri}">
        <ugc:Comments runat="server" ItemURI="@PhysicalUri" Submitted="@Package.showunmoderatedcomments" FlaggedForModeration="true" Posted="true" Resubmitted="false">             
.....
....
<div class="grey_form">
<form method="post" id="comments@{ @ItemID }" class="grey_form">
    <fieldset>
        <div class="legend">Comment on this story</div>
        <label for="one@{ @ItemID }">Enter your name</label>
        <input type="text" id="one@{ @ItemID }" name="one@{ @ItemID }" value ="<% =MemberName@{ @ItemID } %>" ><br/>

        <label for="two@{ @ItemID }">Enter your email address</label>
        <input type="text" id="two@{ @ItemID }" name="email@{ @PhysicalUri}" value ="<% =MemberEmailAddress@{ @ItemID } %>" ><br/>

        <label for="three@{ @ItemID }">Type your comment</label>
        <textarea id="three@{ @ItemID }" name="addComment@{ @PhysicalUri}"></textarea><br/>
        <input type="submit" name="B1@{ @ItemID }" class = "button grey" value ="SUBMIT"/>
    </fieldset>
</form>
</div>  
4

1 に答える 1

2

匿名ユーザーは Cookie によって識別されます。匿名ユーザーにコメントの投稿を許可している場合、これは、訪問者が自分で送信したコメントを編集または削除できるようにするための動作です。

実際のシナリオでは、訪問者が同じブラウザーを使用することは決してありません。匿名アクセスを無効にし、Audience Manager を介して訪問者アカウントを設定すると、Audience Manager からユーザー アカウントを取得できます。

匿名で別のユーザー名を使用したい場合、回避策は、コメントの送信をクリックしたときに JavaScript の Cookie 削除機能を実装するのと同じくらい簡単です。

オーディエンス マネージャーの統合を計画している場合は、http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL_Tridion_2011_SPONE/task_BD0C04660E7A449DB692B91E44A3015Dをご覧ください。

于 2012-08-21T12:47:08.187 に答える