【问题标题】:How can we sort news by Top-News in 2sxc?我们如何按 2sxc 中的热门新闻对新闻进行排序?
【发布时间】:2021-05-10 11:33:43
【问题描述】:

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

【问题讨论】:

    标签: dotnetnuke 2sxc


    【解决方案1】:

    我真的不建议这样做,但是您可以将代码添加到新闻项目详细信息视图的代码中,以增加计数器。对于拥有数千个视图的大型网站,使用 Content Types 在 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 即可获得热门新闻文章的排序列表。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 对,这正是我认为的问题,如何做到这一点......有没有例子?我查看了应用程序目录,但似乎没有应用程序可以更新前端项目的数据。
      • 你不会在 2sxc 应用上找到这样的例子,因为它们通常没有这个。所以你基本上需要找到一个与 2sxc 无关的解决方案,然后适应/使用它。
      • 您也可以使用简单的现有网络服务,例如countapi.xyz
      猜你喜欢
      • 2016-07-18
      • 1970-01-01
      • 2018-04-22
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 2013-08-31
      • 2013-07-25
      • 1970-01-01
      相关资源
      最近更新 更多