簡體   English   中英

drupal 7自定義塊更改了嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM