首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用核心安装配置文件?

问如何禁用核心安装配置文件?
EN

Drupal用户
提问于 2013-09-01 19:51:19
回答 4查看 2.1K关注 0票数 6

存在不允许卸载安装配置文件的允许卸载安装配置文件问题。在D7中有办法做到这一点吗?(如有必要,可以多做一点努力。)

在安装D7时,通常必须选择一个安装概要文件;这可能是Drupal附带的“标准”配置文件。一旦安装完毕,安装配置文件将永远位于"system“表中,没有明显的禁用方法。

是否有更多的恶意方式来禁用安装配置文件。

为了使问题与公认的答案更加一致,我将问题扩展到:如果安装配置文件不能或不应该被禁用,那么至少可以替换它吗?

EN

回答 4

Drupal用户

回答已采纳

发布于 2013-09-06 17:27:59

在Drupal 7中,安装配置文件就像一个模块,但是是一个特殊的,除了两个主要的例外:

  • 安装配置文件所需的任何模块都可以禁用--正如您已经发现的--除了drupal核心所需的模块(字段、过滤器、节点、系统、用户)。有关详细信息,请参阅模块_禁用()函数,其中显式放弃了对安装配置文件的依赖。
  • 用于安装站点的配置文件也是必需的模块。这是用德鲁帕尔_必填项_模块()硬编码的。

因此不能卸载配置文件,因为它是必需的模块。

您可以在system表中将状态设置为0,但不应该设置为0,因为:

  • Drupal希望安装配置文件能够启用,并在某些操作中依赖该配置文件,如果这些操作对afaik至关重要,则没有任何操作。
  • 它是一个模块,它可以实现任何钩子(在其.profile文件中),或者声明配置文件子模块所需的任何函数。在这些情况下,以困难的方式禁用它可能会产生错误或php致命错误。

顺便说一下,用于安装站点的安装配置文件存储在install_profile变量中。

代码语言:javascript
复制
# drush vget install_profile
install_profile: 'minimal'

如果出于某种原因,您可以更改安装概要文件,方法是将install_profile设置为任何其他配置文件名称,并在系统表中启用它。

票数 9
EN

Drupal用户

发布于 2015-05-11 02:40:42

用于D7的配置文件开关模块可能会有所帮助:https://www.drupal.org/project/profile_切换器

票数 2
EN

Drupal用户

发布于 2013-09-06 15:56:46

下面的查询将将安装配置文件的状态设置为0(禁用)。

代码语言:javascript
复制
UPDATE `system` SET `status` = '0' WHERE `filename` = 'profiles/YOURPROFILE/YOURPROFILE.profile';

或

代码语言:javascript
复制
UPDATE `system` SET `status` = '0' WHERE `type` = 'module' AND `name` = 'YOURPROFILE';

或者在更新脚本中:

代码语言:javascript
复制
function YOUR_MODULE_update_7100(&$sandbox) {
  db_update('system')
    ->fields(array('status' => 0))
    ->condition('type', 'module')
    ->condition('name', 'YOURPROFILE')
    ->execute();
}
票数 1
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/84305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档