简体   繁体   English

drupal 7自定义块更改了吗?

[英]drupal 7 custom block changed?

Is the hook_block has been changed? hook_block是否已更改? the following is drupal 6 example i have found on internet(http://eureka.ykyuen.info/2010/11/10/drupal-create-a-block/), there is no block shown in admin/structure/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;

            }

    }

it seems that, hook_block in drupal 7 has been changed, how to rewrite about code? 看来,drupal 7中的hook_block已更改,如何重写代码? anyone can provide hints/direction to me? 有人可以向我提供提示/方向吗? thank you very much. 非常感谢你。

Your code works for Drupal 6.The implementation of hook_block is changed in Drupal 7. In Drupal 7 there are different hooks that should be used to serve your purpose. 您的代码适用于Drupal6。在Drupal 7中更改了hook_block的实现。在Drupal 7中,应使用不同的钩子来实现您的目的。

Check more about hook_block here 在此处查看有关hook_block更多信息

In Drupal 7, your implementation of hook_block() would be changed to: 在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM