在安装站点时,我试图以务实的方式设置这两个变量。
user_pictures (Disabling user pictures altogether)
user_register (allowing visitors to register without admin) 我用的是“强人”的特征,但没有运气。即使启用了该功能,帐户设置中的选项也是错误的。
用脚本手动设置变量也不起作用,尽管选项显示了正确的复选框,但我仍然必须在页面上单击“保存配置”来确认设置。
这适用于我尝试设置的其他变量,我不确定这是否可能,但这会很好。
谢谢!
发布于 2014-01-11 22:17:51
一个只能解决部分问题的解决方案是使用安装配置文件。问题是,有些变量似乎仍然不起作用,甚至根本起不了作用。
发布于 2015-01-08 19:18:24
根据drupal.org上的这个老问题的说法,这似乎是特性模块的预期行为。
例如,在开发站点时,在user_register的管理/用户/设置处设置设置。然后运行,稍后您决定更改值,创建一个特性并增强user_register变量,然后部署它。该设置仍将在数据库中(作为变量),因此该特性将被重写。
最简单的解决方案是不依赖特性来在安装时设置变量。无论如何,使用hook_install要简单得多。我想我们应该只把功能模块看作是从功能管理页面中设置或更新复杂配置的一种方式,而不是当模块本身被启用或更新时。
这将设置您为example模块描述的变量:
function example_install() {
variable_set('user_pictures', 0);
variable_set('user_register', 1);
}如果您的特性的其他部分也没有正确设置,也许您应该尝试这样做:
function example_install() {
// This will only revert 'variable' features. Include additional features as needed.
features_revert(array('example' => array('variable')));
}https://stackoverflow.com/questions/21055869
复制相似问题