基于 Jenkins 和 GitLab CI 的 Drupal CI 驱动配置管理
1. 为什么由 CI 驱动的配置管理至关重要
Drupal 的配置系统是该平台最大的优势之一 —— 同时也是最可靠的痛点来源之一。能够将站点中的每一项配置以 YAML 文件的形式进行导出和导入,这一能力非常强大,但前提是团队成员对谁负责在各个环境之间移动这些文件达成一致。在大多数团队中,这种共识从未真正存在。
任何发布过 Drupal 站点的人都熟悉以下经典问题:
将 Drupal 7 升级到最新版本的 Drupal
尽管 Drupal 7 的官方支持已经结束,不再提供新的更新,且所有新模块都仅针对 Drupal 11+ 版本发布,但目前仍有大量网站在使用 Drupal 7,且无法迁移到新版本。这其中有诸多原因,尤其是对于拥有大量自定义代码的网站而言更是如此。
使用 Claude Code、Codex、Copilot
在关于将 Drupal 7 升级至最新 Drupal 版本的文章中,有必要指出,像 Claude Code、Codex 和 Copilot 这样的现代 AI 工具,可以成为团队非常有价值的助手,并有效降低项目的整体复杂度。即使读者不深入了解技术细节,也能理解这些工具的核心价值:它们可以帮助更快地理解网站的旧代码结构,谨慎地将现有业务逻辑迁移到平台的新版本,并在升级过程中减少错误数量。通过自动提供更现代、更安全的解决方案,提示系统中需要修改的部分,以及加速日常开发的重复性工作,这些工具最终可以缩短迁移周期,使过程更加可预测,简化管理层的控制,并让团队专注于业务目标的实现,而非技术难题本身,从而确保网站在升级到新版 Drupal 后的稳定运行。
如何在 Drupal 中使用 js_cookie 模块重写 jQuery Cookie 和 core/js-cookie 库
为什么会有这个变更?
- 在 Drupal 9 中,jQuery Cookie 被从核心中移除,并由 js-cookie 库取代。在 Drupal 9 期间曾提供一个兼容性垫片(
core/jquery.cookie),但在 Drupal 10 中被移除。
https://www.drupal.org/node/3104677 - 在 Drupal 10.1 中,
core/js-cookie资产库本身被弃用,并计划在 Drupal 11 中删除,因为核心不再使用它。变更记录建议切换到贡献模块 JS Cookie。
https://www.drupal.org/node/3322720
Drupal 更新
本部分介绍如何将 Drupal 内核从以前的版本(包括旧版 Drupal 6 和 Drupal 7)更新到最新的稳定版本。我还会在这里发布有关如何更新 Drupal 贡献模块的文章。
在 Drupal 中对 CKEditor 4 的无限支持
Drupal 的 CKEditor 模块将停止支持 CKEditor 4。不过,您仍然可以通过自定义模块集成 CKEditor 4,并继续使用它。当然,使用新版 CKEditor 5 或更高版本会更好,但仍有超过 14 万个网站在使用 CKEditor 的旧版模块(每四个 Drupal 网站中就有一个!)。
https://www.drupal.org/project/ckeditor
我需要提前说明的是,对匿名用户使用 CKEditor 4 并不安全。如果您允许匿名用户在网站上发表评论或创建页面(例如在 bug 跟踪系统中提交 issue),那么您别无选择,只能使用 CKEditor 5。
在 Ubuntu 上安装 LAMP(Install LAMP on Ubuntu)
安装 Apache
sudo apt-get update
sudo apt-get install apache2
同时更新 Apache 的设置:
sudo ufw app list
sudo ufw allow in "Apache Full"
你可以使用 /var/www 文件夹来放置站点,但更好的做法是在你的 ~/ 目录中创建一个新的项目文件夹。我们可以在 Apache 配置文件中添加以下内容:
sudo nano /etc/apache2/apache2.conf
如何使用 Colorbox 创建模态窗口(How to make a modal window with Colorbox)
模态窗口的主要问题在于 scrollTop 属性在 iPhone 和 Android 上的行为不同。因此,我们需要使用一长串命令来准确获取滚动位置。
在 Ubuntu LAMP 上安装 Xdebug(Install Xdebug on Ubuntu LAMP)
Firstly, we need to install php library for xdebug:
sudo apt update
sudo apt install php7.2-xdebug
For other versions of PHP you can use php7.x-xdebug or php5.x-xdebug for PHP 5.x versions.
Further we need to see /usr/lib/php folder and find our xdebug.so file.
Drupal.org 深色主题
我已经习惯在所有地方使用深色主题:PhpStorm、Ubuntu、Chrome、手机应用程序。当从深色主题切换到完全白色的浏览器标签页时,真的非常刺眼。我不知道 Drupal.org 什么时候会推出深色主题,所以我为自己写了一个 CSS 小技巧:
https://gist.github.com/levmyshkin/c127f1ff539965923fdac6679c530a5b
你可以使用 Chrome 扩展 User CSS,为 Drupal.org 网站单独添加 CSS 代码:
创建网站的工具
在本章节中,我将介绍我用于创建网站的各种工具:程序、插件、扩展、实用小工具、界面美化以及其他辅助资源。