在功能中导出块设置(Drupal 7)


13

我正在尝试学习如何在开发站点和生产站点之间创建合理的工作流,并且我决定使用功能模块来帮助完成此任务。

在我的首页上,我有几个显示新添加的和最高评价的内容的块。我已经使用功能来导出这些视图,但是在“功能”模块内部仍然看不到要导出我的块设置。我设置新项目和最高评价的块以显示在页面的内容部分。我对其进行过滤,使其仅显示在视图的首页上。

如何将这些阻止设置导出到我的功能中,从而无需在每个站点上重新配置它们?

Answers:


13

您可以将功能与Strongarm功能Extra一起使用,导出更多内容

Strongarm为网站建设者提供了一种方法来覆盖Drupal核心和贡献模块附带的默认变量值。它不是最终用户工具,而是提供API和受限UI的开发人员和网站构建者工具。

具有额外的支持:词汇;节点队列(定义);阻止设置;自定义块(框)。

此外,UUID功能集成提供了一种将内容(节点,分类法,字段)导出到功能模块的机制。


1
我也建议使用drush和git处理工作流程。
Refineo'4

1
太棒了,这正是我所需要的。一旦弄清楚如何更好地使用功能,我就打算继续使用git。
Mike2012年

太棒了!作为迈克,那真是不可思议!
让·雷米Revy

4

您可以按照“为特征导出块”来使用“ 盒子”模块。

如果您不想安装其他模块,并且正在处理Views块(您只需要块配置设置),那么另一个选择是在代码级别使用自定义模块的hook_update_N()实现来执行此操作安装文件。请参阅下面的示例。

/**
 * Configure block settings.
 */
function my_module_update_7101() {

  // Enable blocks
  db_update('block')
    ->fields(array(
      'status'     => 1,
      'region'     => 'content',
      'visibility' => 1,
      'pages'      => 'node/999',
      'title'      => 'My Block Title',
      'css'        => '',
      'js'         => '',
    ))
    ->condition('delta', 'BLOCK_ID')
    ->execute();
}

0

一种替代方法是使用迷你面板代替此处建议的自定义块。它们的工作原理几乎相同,并且面板似乎在功能上得到了更好的支持。如果您已经计划使用面板,则还可以节省一些额外的模块。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.