Hello Randy Bauer,
To complete all these 4 requirements you need to create custom Commnts control and replace the existing one. As far as I see it there is not only matter of styling ( say 2 and 4)
1. Map external templates for BlogPosts control - generally in this case you only need ListPageDetail.ascx template. More information about the mapping at Working with presentation modes.
2. After you map the template there is a Repeater - commentsRepeater control which you can style. You will also find RadEditor control declaration there. The labels for name, email , website etc are LocalResources so you can edit them in the resx file.
3. Auto fill the name of the currently logged in user - this requres a custom control . Sample code:
CustomComments : CommentsList
// REMOVE THE VALIDATORS FROM THE TEMPLATE OF OUR CUSTOM CONTROL
sender, EventArgs e)
AuthorText.Text = UserManager.GetCurrentUserName();
// DO THE SAME FOR THE OTHER FILEDS
In the ListPageDetail template you need to remove the default BlogCommnets control and use the custom one.
To restrict the comments for a give user there are two options
1. In the code behind of ListPageDetail template check the currently logged user role and hide/show the BlogComments control. You can use UserManager class.
2. The second option is creating a custom class that inherits from BlogPosts control. then override SetItemMetaData method and depending on the role call this.AllowComments = true/false.
This way is better, bacause you can expose public property for your custom control from where you can set users from which role are supposed/ not supposed to enter comments.
the Telerik team