Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Api 在Drupal 7中以编程方式将视图指定给区域_Api_View_Drupal 7_Block_Region - Fatal编程技术网

Api 在Drupal 7中以编程方式将视图指定给区域

Api 在Drupal 7中以编程方式将视图指定给区域,api,view,drupal-7,block,region,Api,View,Drupal 7,Block,Region,在安装模块的过程中,我需要将视图指定给某个区域,并从该区域取消指定块。这在UI中需要3秒钟的时间,但必须以编程方式完成 该视图称为“合法页脚”,需要将其分配给区域“页脚”。 类似地,我有一个名为“页脚徽标”的块,它当前位于“页脚”区域,但需要删除 我想我想要hook\u block\u info\u alter,但我不确定它是否适用于视图,API文档中有一条说明,它不能用于取消分配块 我是Drupal新手,我可以很容易地在UI中实现任何我想要的功能,但是我很难使用API。要将块分配给区域,请使用

在安装模块的过程中,我需要将视图指定给某个区域,并从该区域取消指定块。这在UI中需要3秒钟的时间,但必须以编程方式完成

该视图称为“合法页脚”,需要将其分配给区域“页脚”。 类似地,我有一个名为“页脚徽标”的块,它当前位于“页脚”区域,但需要删除

我想我想要hook\u block\u info\u alter,但我不确定它是否适用于视图,API文档中有一条说明,它不能用于取消分配块


我是Drupal新手,我可以很容易地在UI中实现任何我想要的功能,但是我很难使用API。

要将块分配给区域,请使用数组中的“region”键返回包含该块应分配给的区域名称的信息

例如

function module_block_info() {
    $blocks = array();
    $blocks[0] = array(
        'info' => t('Block Title'),
        'region' => 'name-of-the-region', // here is the name of the region
        'status' => 1, // 1 if you want the block to be enabled by default
    );
    return $blocks;
}
您可以使用这样的查询禁用exist块

db_update('block')->fields(array('region' => '', 'status' => 0))->condition('bid', $block_id)->execute();
将$block_id替换为要禁用的块的id

更新: 您可以使用
hook\u block\u info\u alter
禁用现有块

function hook_block_info_alter(&$blocks, $theme, $code_blocks) {
  // Disable the login block.
  $blocks['defining_module']['delta']['status'] = 0;
}
祝你好运