如何在 Drupal 8 中使用 Drush 命令创建新的内容类型
Posted
技术标签:
【中文标题】如何在 Drupal 8 中使用 Drush 命令创建新的内容类型【英文标题】:How to create new content types using Drush commands in Drupal 8 【发布时间】:2022-01-09 13:00:20 【问题描述】:我知道导出和导入选项可用,但我有 5 个环境,所以每次在开发环境上实施新事物后,我不想在其他环境上进行导出和导入,而是使用管道我将执行drush 命令通过执行所需的 Drush 命令在其他环境上实现所需的更改。
【问题讨论】:
【参考方案1】:问题在于,在 Drupal 上,配置导入/导出是最好的方法。 配置导出不仅导出内容类型配置,还导出整个网站配置。
所以这些命令可以帮助你在环境之间保持独立。
如果您的问题是在环境之间覆盖某些配置值,Config Split 模块可以为您提供帮助。
【讨论】:
嗨 Sharklalu,我正在尝试使用 Dev Env 中存在的所有功能和数据从头开始构建另一个 Env 是否可以通过使用配置拆分来实现? 配置 splid 模块不会导出或导入数据值。让我们看看drupal.org/project/content_synchronizer 模块或使用数据库转储+文件夹【参考方案2】:如果没有配置导入,我会通过安装一个您自己的模块来解决它,该模块运行您的特殊代码。
步骤:
创建一个模块 my_custom_contenttype 制作一个hook_install() (my_custom_contenttype_install()) 运行这个 drush 命令(之前卸载,如果要重新安装 - 执行多次):drush pm:uninstall my_custom_contenttype; drush pm:enable my_custom_contenttype;
function my_custom_contenttype_install()
// Add content type if it not exist
;
【讨论】:
【参考方案3】:您可以使用手动管理的配置来执行此操作。通过:
-
创建自定义模块并将您的配置包含在 custom_module/config/install 中,并使用“drush en”安装模块
或
通过使用现有的自定义模块并使用 post_update 挂钩来安装配置。
我们在许多站点上执行此操作,并且加载和安装配置只是足够复杂,我们构建了一个辅助模块来执行此操作。您可以使用 composer 拉入这个模块并使用更新挂钩来激活它,或者您可以查看 installConfig 函数 here 并将其用作模板。 (该模块也有一个有用的自述文件)。
【讨论】:
以上是关于如何在 Drupal 8 中使用 Drush 命令创建新的内容类型的主要内容,如果未能解决你的问题,请参考以下文章