Drupal - 视图字段在保存页面时消失

时间:2018-02-14 01:34:47

标签: drupal drupal-views drupal-8 drupal-views-relationship

我们的Drupal 8.4站点(程序页面)上有一些页面,它们应该显示其程序中的课程列表。升级后,只要保存这些页面,课程列表就会消失。我们的设置涉及3种不同的内容类型:

  1. 程序页面,其视图字段使用过滤器来获取属于其程序的课程,称为 field_program_courses 。这就是消失的东西。
  2. 程序,其中包含有关程序的信息,并有一个实体参考字段,指示它们链接到哪个程序页面( field_program_page_to_link )。
  3. 课程,包含课程信息,包括他们所属的课程( field_select_specific_program )。
  4. 从Drupal 8.1升级到8.4后,只要我们点击程序页面上的“保存”(即使没有做任何更改),都会删除该程序页面的 field_program_courses 的数据库条目,并且在查看页面时停止显示。我们必须回到之前的版本才能重新出现。

    如果我创建一个新课程,它将在现有的课程页面上正常显示,但如果我尝试创建一个新的课程页面,它将不会显示任何课程。我尝试创建一个新视图来替换 field_program_courses ,但它不允许我在关系下拉列表中选择 field_program_page_to_link ,因此无法获得正确的过滤。

    可悲的是,这似乎是由Drupal 8.4的更新引起的,并且滚动返回不是一个选项。有关如何进行的任何想法,问题或建议?

1 个答案:

答案 0 :(得分:0)

最后转向承包商来解决这个问题。他们说这个问题发生了,因为field_program_courses字段有一个加载视图列表的钩子。那停止了工作,所以唯一可选择的选项变成" none",所以保存页面当然使用" none"值。至于为什么它停止工作,他们的猜测是它是由8.1-> 8.4升级中的field_block contrib模块的变化引起的,尽管他们不确定它到底是什么。

修复包括使用另一个没有上下文过滤器的显示重新创建视图,并在我们的主题中添加一些代码来加载程序页面的块。