我已经在Sitefinty新闻内容栏中创建了1条新闻。如何获得新闻作者在Sitefinty中的图片。我已将我的照片上传到我的sitefinty个人资料中,并提供了1条新闻条目,但并不知道我在新闻详细信息页面上显示了我的图片。我正在使用Sitefinty 6.3。显示缩略图新闻作者在Sitefinty
回答
这必须是从新闻窗口小部件详细信息模板引用的用户控件,该模板查找创建新闻发布的配置文件。
我有我的解决方案的自定义控制在〜/ CustomControls/AuthorPicture.ascx,在ASCX文件,它只是一个.NET图像控制:
<asp:Image runat="server" ID="imgAuthor" />
在后面的代码进行控制,使用这个:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Sitefinity.Modules.Libraries;
using Telerik.Sitefinity.Modules.News;
using Telerik.Sitefinity.Security;
using Telerik.Sitefinity.Security.Model;
namespace SitefinityWebApp.CustomControls
{
public partial class AuthorPicture : System.Web.UI.UserControl
{
public Guid NewsId { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
if (NewsId == Guid.Empty) return;
var newsManager = NewsManager.GetManager();
var newsItem = newsManager.GetNewsItems().FirstOrDefault(n => n.Id == NewsId);
if (newsItem == null) return;
var userManager = UserManager.GetManager();
var upManager = UserProfileManager.GetManager();
var owner = userManager.GetUser(newsItem.Owner);
var profile = upManager.GetUserProfile<SitefinityProfile>(owner);
var lmanager = LibrariesManager.GetManager();
var image = lmanager.GetImage(profile.Avatar.ChildItemId);
imgAuthor.ImageUrl = image.ThumbnailUrl;
}
}
}
您可以看到我们将通过控件的NewsId Guid属性传递新闻项ID。
要仅显示这是如何工作的,请在Sitefinity中创建一个页面,并在页面上添加一个新闻窗口小部件。点击“编辑”选择“一个特定的新闻项目”并选择您的新闻项目。在“单一项目设置”标签下选择您的详细信息模板,默认名称为“完整新闻项目”。点击“编辑所选模板”,并登记在模板的控制:在RadListView ItemTemplate中某处
<%@ Register TagPrefix="custom" TagName="AuthorImage" Src="~/CustomControls/AuthorPicture.ascx" %>
然后,使用控制和消息ID传递到属性:
<custom:AuthorImage runat="server" ID="cstmAuthorImage" NewsId='<%# Eval("Id") %>' />
保存更改并发布您的页面,您的新控件应该运行,并且它应该提取创建该帖子的人的个人资料图像。
我发现这里Sitefinity论坛类似的东西:http://www.sitefinity.com/developer-network/forums/developing-with-sitefinity-/retrieving-post-author-details-avatar-nickname-etc-in-blog-post-templates
我可能会创建一个新闻细节一个新的模板。在这里,您可以附加到ItemDataBound事件,您可以在其中设置新闻项目的图像。
作者字段没有关系到Sitefinity用户,那么你需要获得创建该Newsitem用户的ID。 (业主)
此代码显示了如何做到这一点:
protected void Repeater_ItemDataBound(object sender, Telerik.Web.UI.RadListViewItemEventArgs e) {
var data = ((RadListViewDataItem)e.Item).DataItem as NewsItem;
// Get the owner
var owner = userManager.GetUser(data .Owner);
}
用于检索用户,您可以在距离Ben的代码中找到了图像的逻辑。
另一种方法是创建一个自定义字段,显示了一个UserPicker字段,然后这将让你完全灵活的选择哪些Sitefinity用户,您将涉及新闻项目。
- 1. 显示缩略图
- 2. 显示缩略图,作者和点击文章列表
- 3. 显示新闻
- 4. Facebook喜欢为网站不显示缩略图或meta新闻饲料
- 5. 任何方式从bing-api新闻项目获取新闻图像缩略图?
- 6. WordPress显示缩略图不起作用
- 7. PDF缩略图未显示
- 8. 缩略图显示问题
- 9. WordPress不显示缩略图
- 10. 如何显示缩略图?
- 11. PDF缩略图显示
- 12. Facebook不显示缩略图
- 13. 显示特定缩略图
- 14. Iphone sdk显示缩略图
- 15. iPad detailedViewController显示缩略图
- 16. 在视图中显示缩略图
- 17. ListView显示新闻?
- 18. 如何在搜索结果中显示作者信息和缩略图
- 19. 在缩略图中显示最新的摄像头图像
- 20. 在bootstrap popover中显示缩略图wordpress
- 21. 在android listview/recycleview中显示缩略图
- 22. 在JPanel上显示JFreeChart的缩略图
- 23. 在wordpress中显示缩略图
- 24. 图库HTML图像显示缩略图
- 25. 缩略图脚本将不会显示缩略图
- 26. Image Web2py中的缩略图:无法显示缩略图
- 27. 如何缩略图幻灯片只显示缩略图pic
- 28. 如果没有缩略图显示“无缩略图”
- 29. Bootstrap缩略图列表未显示缩略图
- 30. RefineryCMS图像缩略图没有显示