Drupal 8 核心 bug: Views创建menu tab时无视参数验证

当用views创建page时,定义像'node/%node/foo'这样的路径,然后创建一个menu tab,在context filter里提供当前node页面的id作为默认参数,并开启参数验证:node type必须为article等。

当访问node/123/foo时,如果该node type不是article,会返回404等(根据设置),但menu tab依旧存在。

相关issue链接:

比赛管理模块试用比较

Tournament Bracket(过时,不支持现在版本的php)

Tournament:这是一个基于用户互动的比赛管理模块,后台创建一个比赛后,用户可以加入比赛和挑战其它对手。

Sports League:纯后台发布信息的功能,数据设计非常完善,但录入数据比较繁琐,连关联内容都要手动输入node id。适合用来做二次开发。

Drupal 8 核心 bug: 多图上传时会导致系统保存的图片尺寸混乱

Multiple image upload breaks image dimensions

现象:drupal 8核心的image field支持圈选多个图片上传,但图片保存时,只会以第一张图片的尺寸为准。如果圈选的图片大小甚至比例不一的话,后续的图片保存时是错误的尺寸(都是第一张图的尺寸)。

解决方案:打补丁,或等待drupal 8 核心修复

field_collection与multifield的简单对比

field_collection比较完美地实现了子字段的使用,但由于collection是通过entity+field实现的,据说有性能问题,还带来了数据迁移时的复杂性。drupal的entity+field可以被理解为扁平化结构的数据表,在扁平化结构中记录父子关系,对于复杂的数据查询是比较难构建的。试想一下,要提取某个node的所有field,首先得先将各个子字段表join到父字段(其实是个entity)表,再join到node表,还要join上其它非collection的field表。