我在一个自定义模块中有一个问题,我不知道,我有一个像这样的更新钩子:
function article_update_7003() {
features_revert(array('article' => array('field_base')));
}但是它并没有恢复这个特性。但是,如果我运行该更新,并手动将其更改为:
function article_update_7004() {
features_revert(array('article' => array('field_base')));
}然后运行它,功能就会被恢复。有人知道怎么回事吗?我第一次试着复制它,但这没有帮助.
function article_update_7003() {
features_revert(array('article' => array('field_base')));
features_revert(array('article' => array('field_base')));
}发布于 2013-11-07 23:53:21
据我理解,每次更新只运行一次更新钩子。函数为hook_update_n,其中'N‘是更新钩子的实例。每次您想要将您的特性恢复到代码更新时,您都需要一个新的更新钩子。这就是为什么如果你增加数量,它是有效的。如果您在重新生成功能时增加了版本号,并且还使用更新钩子在代码中恢复您的特性,那么这些数字应该是匹配的,并且每个版本增量都有一个更新挂钩。
资料来源:Drupal API.
https://drupal.stackexchange.com/questions/91391
复制相似问题