微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我们如何在 2sxc 中按热门新闻对新闻进行排序?

如何解决我们如何在 2sxc 中按热门新闻对新闻进行排序?

在新闻应用的页面上,它说: 该应用程序具有热门新闻摘录(用于主页或类似内容)等功能 所以我想知道是否有像浏览次数计数器这样的东西,或者我们可以在新闻应用程序中使用的东西。无论如何,我们真的会对这样的事情感兴趣......

解决方法

我真的不建议这样做,但您可以将代码添加到新闻项详细信息视图的代码中,以增加计数器。对于拥有数千个视图的大型站点,使用内容类型在 2sxc 中执行此操作是一个非常糟糕的主意。

但是,如果您的内容类型名称 NewsTicks 有两个字段,ArticleEntityIdCounter,这两个字段都是数字,那么在创建文章时,您将:

    var fields = new Dictionary<string,object>();
    fields.Add("ArticleEntityId",newsItem.EntityId);
    fields.Add("Counter",0);
    App.Data.Create(contentTypeName: "NewsTicks",values: fields);

然后每次查看页面时,您都可以使用这样的代码来增加计数器。我正在链接到我添加的问题/功能请求,因为它详细说明了为什么这在繁忙的网站上不是一个好主意。

2sic/2sxc,问题:

Ability to Update an Entity's Fields without Creating History items

那么您只需要一些 LINQ 即可获得热门新闻文章的排序列表。

,

所以没有内置任何东西,但由于它都是开源的,您可以轻松添加它。

请注意,2sxc 数据模型针对不频繁写入和大量读取的情况进行了优化,因此更新每个视图上的数据并不是实现此目的的最佳方式。但是你可以把它放在一个 SQL 表或其他东西中,或者为此使用另一个计数/跟踪系统。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。