[英]drupal 7 custom block changed?
hook_block是否已更改? 以下是我在互联网(http://eureka.ykyuen.info/2010/11/10/drupal-create-a-block/)上找到的drupal 6示例,在admin / structure / block中未显示任何块,
* Implementation of hook_block().
*/
function custom_block($op = 'list', $delta = 0, $edit = array()) {
switch ($op) {
//Define the block
case 'list':
$blocks[0]['info'] = t('Block Info');
$blocks[0]['cache'] = BLOCK_NO_CACHE;
return $blocks;
case 'configure':
//TODO: block configurable parameters
$form = array();
return $form;
case 'save':
//TODO: save new configuration
return;
//Display the block
case 'view':
$block['subject'] = t('Block Subject');
$block['content'] = 'Block Content';
return $block;
}
}
看来,drupal 7中的hook_block已更改,如何重写代码? 有人可以向我提供提示/方向吗? 非常感谢你。
您的代码适用于Drupal6。在Drupal 7中更改了hook_block的实现。在Drupal 7中,应使用不同的钩子来实现您的目的。
在此处查看有关hook_block
更多信息
在Drupal 7中,您将hook_block()的实现更改为:
/**
* Implements hook_block_info().
*/
function custom_block_info() {
$blocks = array();
$blocks['list'] = array(
'info' => t('Block Info'),
'cache' => DRUPAL_NO_CACHE,
);
return $blocks;
}
/**
* Implements hook_block_view().
*/
function custom_block_view($delta = '') {
$block = array();
switch ($delta) {
case 'list':
if (user_access('access content')) {
$block['subject'] = t('Block Subject');
$block['content'] = 'Block Content';
}
break;
}
return $block;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.