Drupal

使用webP格式图片提高Drupal 8/9网站的页面加载速度

By 大伟哥 | 2022-05-17,周二, 19:06

为你的网站启用WebP图像,可以为每个页面加载节省数百万字节的数据!这听起来有点夸张,或者说有点俗气。但这是真的。如果网络环境较慢的,这会带来相当不同的结局:页面秒开,访客留下来阅读你的页面;或者经过漫长时间的等待仍然加载不出来,访客只能沮丧地按下浏览器菜单上的叉号。

什么是WebP?

WebP是一种新的图像格式,能够以更小的文件尺寸呈现更高质量的图像。它还支持一些很酷的功能,如透明度(一般用PNG图像处理)和动画(一般用GIF动画或视频处理)。

在Drupal 9中启用响应式图片支持

By 大伟哥 | 2022-05-17,周二, 10:43

最佳的用户体验是网站开发追求的一个重要方面,而其中的关键是保证正确的图像尺寸。大分辨率的图片一股适用桌面显示器,而如果有些访问者使用的是移动设备,那么加载这些非常大的图片反而不是最佳选择。

确保为正确的设备提供正确大小的图像就是所谓的 "响应式图像"。

响应式图像有助于提高加载速度,节省带宽,并给访问者带来更好的整体体验。

这篇文章将重点介绍在Drupal 9中设置响应式图片。

对于Drupal 9,启用响应式图片支持的的关键步骤如下:

Drupal Barrio: popper.min.js no such file error

By 大伟哥 | 2022-05-06,周五, 10:16

安装并启用 Drupal 的 Barrio 主题后,细心的朋友在调试的时候可能会发现,Barrio 导入的一个js文件  popper.min.js 并没有正确加载。

Barrio 主题和子主题里定义的 popper.min.js 路径是 /libraries/popper.js/dist/umd/popper.min.js,但没有附带这个文件,也没有定义下载的路径。实际上popper.min.js已经存在于 Drupal 核心里了,它的路径是 :/core/assets/vendor/popperjs/popper.min.js。

Drupal 9 Barrio 自定义子主题显示异常的表现及解决方法

By 大伟哥 | 2022-05-02,周一, 19:26

Barrio是一个基于Bootstrap 4/5的主题,同时支持Drupal 8和 Drupal 9。这个主题使用标准的 Bootstrap 4/5 标记完全重写了Drupal的twig 模版,使它可以只使用 Bootstrap 的CSS样式,外加少量的自定义CSS样式。对Bootstrap涵盖的部分,Barrio 主要是基于 Flex.

按照模块的文档安装完成主题并创建子主题后,无论如何调试,效果都不能和 Barrio 自带的子主题一样,主要表现在两点:

恢复composer默认镜像设置,及时更新Drupal 9

By 大伟哥 | 2022-04-03,周日, 23:44

最近几天,Drupal 后台一直提示有一个可用的安全更新,要求马上升级,但是使用 composer 运行更新,又找不到最新版本可用。大伟哥在国外的服务器上的网站倒是没有任何问题,可以无障碍更新到最新版本,这提醒我最大的可能就是因为国内的服务器使用了阿里云的composer镜像没有得到及时更新。

那就只能先取消阿里云的 composer 镜像使用,还原成默认服务器了。切换到运行 Apache / PHP的用户www-data, 并运行composer命令:

安装git和验证git.drupalcode.org帐号以使用composer管理Drupal依赖

By 大伟哥 | 2021-03-30,周二, 13:27

新启用的Debian 10 系统,按照以往的操作方式使用 composer 安装 Drupal 时出错,错误信息是:

Failed: [RuntimeException] git was not found in your PATH, skipping source download

运行 apt install git 即可以安装 git 了。

现在再运行 composer 命令,会提示你输入你在 drupal 官网的用户名和密码,这样 composer 就可以继续运行下去了:

Debian/Ubuntu 安装并启用 PHP APCu caching

By 大伟哥 | 2020-12-04,周五, 10:57
PHP APCu caching can improve your site's performance considerably. It is highly recommended to have APCu installed on your server.

Drupal 的后台状态报告里,总是推荐启用 PHP APCu caching,说是能提升网站性能。具体能提升多少,咱也不懂,咱也不敢问。总之后台推荐的事,干就完了。

使用Debian/Ubuntu Server,就是省事:

Drupal 8/9 让某个字段仅对注册登录用户显示

By 大伟哥 | 2020-09-18,周五, 10:01

大伟哥最近做行业站的时候,有个需求,是希望注册用户在网站上填写的个人联系方式如手机号码、QQ号码等,只对网站的处于登录状态的注册用户可见,而对于搜索引擎和匿名访客,则不显示这些字段信息。这样的话,一方面可以在一定程度上保护用户的私人信息,另一方面也能够激励访客注册成为会员,增强网站的互动性。

Drupal群里的热心网友给出了两个实现方法,一个是使用 field permissions 模块,另一个是直接使用字段的主题覆写实现。

Drupal Commerce 产品管理的相关术语概念

By 大伟哥 | 2020-09-08,周二, 14:14

在上一篇产品管理思路整理里,我们大概整理了一下电商购物车程序在产品管理方面需要实现的功能,这一篇我们一起来学习一下 Drupal Commerce Product 模块是如何来一一实现这些功能的。

用分类术语做前台产品分类目录展示

首先是产品分类。得益于 Drupal 的灵活和强大,我们可以创建一个名为 Categories 的词汇表(Vocabulary)并添加分类术语(Taxonomy terms)来轻松实现单层次或者多层次的产品分类,从而实现灵活多变的产品目录结构。