由 逆流の鱼, 5 四月, 2019 drupal8用代码创建用户并登录的例子 创建新用户并登录 <?php $user = User::create([ 'name' => $username, 'mail' => $email, ]); $user->activate();// NOTE: login will fail silently if not activated! $user->save(); user_login_finalize($user);
由 逆流の鱼, 21 三月, 2019 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链接:
由 逆流の鱼, 20 三月, 2019 Drupal 8 如何定义动态路由? 动态路由,即'/node/{node}/edit'这样的路径。 官方文档:Structure of routes 例子:my_module.routing.yml
由 逆流の鱼, 12 三月, 2019 比赛管理模块试用比较 Tournament Bracket(过时,不支持现在版本的php) Tournament:这是一个基于用户互动的比赛管理模块,后台创建一个比赛后,用户可以加入比赛和挑战其它对手。 Sports League:纯后台发布信息的功能,数据设计非常完善,但录入数据比较繁琐,连关联内容都要手动输入node id。适合用来做二次开发。
由 逆流の鱼, 18 二月, 2019 暂搁置drupal8升级计划 尝试了将本网站升级到drupal8,折腾了几个小时,虽然几经波折但最后还是成功了。在D8版本的水滴网试用了一段时间,觉得并不满意,于是又用回D7的版本。理由主要有几个:
由 逆流の鱼, 24 十二月, 2018 Drupal 8 核心 bug: 多图上传时会导致系统保存的图片尺寸混乱 Multiple image upload breaks image dimensions现象:drupal 8核心的image field支持圈选多个图片上传,但图片保存时,只会以第一张图片的尺寸为准。如果圈选的图片大小甚至比例不一的话,后续的图片保存时是错误的尺寸(都是第一张图的尺寸)。解决方案:打补丁,或等待drupal 8 核心修复
由 逆流の鱼, 28 八月, 2016 Drupal核心autocomplete功能出错 一些nginx服务器的配置硬性隐藏了index.php,导致drupal的autocomplete功能出错(返回404)。 临时解决方法: 修改includes/form.inc
由 逆流の鱼, 8 八月, 2016 field_collection与multifield的简单对比 field_collection比较完美地实现了子字段的使用,但由于collection是通过entity+field实现的,据说有性能问题,还带来了数据迁移时的复杂性。drupal的entity+field可以被理解为扁平化结构的数据表,在扁平化结构中记录父子关系,对于复杂的数据查询是比较难构建的。试想一下,要提取某个node的所有field,首先得先将各个子字段表join到父字段(其实是个entity)表,再join到node表,还要join上其它非collection的field表。