代码之家  ›  专栏  ›  技术社区  ›  user3250335

Drupal 7反转视图顺序

  •  0
  • user3250335  · 技术社区  · 8 年前

    我们使用view模块以标准Drupal方式生成视图。

    1. 更改视图UI中的排序顺序设置。那行不通。如果我们有20个节点要从中拉出,我们将从10到1馈送项目20到11。门户将很好地列出第11项到第15项,但这仍然不是我们想要的。

    2. 在浏览者为提要挑选出10个条目后,请访问我们的Drupal站点。我发现最有希望实现这一点的地方是重写Views模块的template\u preprocess\u Views\u view\u rss()函数。至此,xml的项目部分已经生成。我必须将其分解为单独的项目以供参考。可行但丑陋。很高兴能找到一个可以简单应用reverse\u array()的地方。

    有什么想法吗?SharePoint或门户专家可能会帮助我帮助门户管理员。或者Drupal专家可能会帮我找到一个更好的地方来使用feed。或者任何你有的东西。

    2 回复  |  直到 8 年前
        1
  •  1
  •   MilanG    8 年前

    尝试使用 hook_views_post_exexute() 钩子函数重新排序结果。

    function MY_MODULE_views_post_execute(&$view) {
      if ($view->name == 'MY_VIEW') {
        // re-order $view->result here
      }
    }
    

    执行视图(查询)后,将调用您的函数,您可以在此处更改结果,如重新排序。

    https://api.drupal.org/api/views/views.api.php/function/hook_views_post_execute/7.x-3.x

        2
  •  0
  •   user3250335    8 年前

    米朗给出了正确的答案,但并没有解决根本问题。事实证明,SharePoint(或Ellucian Portal)正在根据<发布日期(>,不在<项目(>);顺序我可以按我喜欢的任何顺序安排项目,门户中显示的内容也没有什么不同。在这一点上,我似乎有两个选择——不包括我问题中的optiojn(3)。

    1. 按摩喂食(使用米朗的答案),给出错误的答案<发布日期>但至少要强制执行正确的顺序。

    2. 看看我是否可以访问门户css并用flex direction修复它。

    要从中吸取两个教训:

    b、 曼德维尔定律:软件(在本例中为SharePoint)为您所做的一切都是它为您所做的。

    推荐文章