2012-02-09 53 views
0

我創造了我的Drupal 7的自定義安裝塊這樣的:現在定製塊不顯示

/* 
* Implements hook_block_info 
* To create a block to display the information for planB in the footer. 
*/ 

function planb_block_info() { 
    $blocks['planb_footer'] = array(
    'info' => t('PlanB Footer'), 
    'status' => true, 
    'weight' => 0, 
    'visibility' => 1, 
); 
    return $blocks; 
} 

function planb_block_view($delta = '') { 
    switch($delta) { 
    case 'planb_footer': 
     $block['subject'] = NULL; 
     $block['content'] = footer_block_content($delta); 
     return $block; 
     break; 
    } 
} 

function footer_block_content($delta) { 
    return array('#markup' => theme('footer')); 
} 

,在我的本地測試環境頁腳正確顯示。但是,當我將模塊文件上傳到生產環境時,頁腳不會出現在任何地方。它甚至不出現在Blocks頁面上,就好像掛鉤沒有註冊到Drupal一樣。有人知道我可能忽略了什麼嗎?

我已清除緩存。

+0

它是否顯示在模塊頁面中? – SpaceBeers 2012-02-09 13:45:05

+0

是模塊已啓用,其提供的其他功能正在運行。 – KerrM 2012-02-09 13:55:21

+0

嗯。您的測試和生產環境有什麼不同? – SpaceBeers 2012-02-09 16:09:58

回答

1

我還沒有發現這有什麼問題,而是恢復到通過Drupal管理中的GUI創建頁腳。

-2

這可能是緩存問題:您是否清除生產服務器上的緩存?至少該類註冊表應該清空Drupal註冊你的新塊。

+0

OP狀態已經清除了緩存。 – SpaceBeers 2012-02-10 10:08:15

+0

對不起:重複檢查,但錯過了最後一行。 – Countzero 2012-02-10 10:22:43

0

在其他環境中安裝自定義模塊時,我經常遇到同樣的問題。它只發生在塊沒有設置區域時,所以我的解決方法是在安裝並啓用模塊後使用Drush移動塊。設置區域後,該塊將顯示在管理視圖中。

drush block-configure --module=MY_MODULE --delta=BLOCK_DELTA --region=TARGET_REGION chdir="/PATH/TO/DRUPAL" 

漏塊也容易,如果我改變增量的名字出現,但顯然這是不值得當你部署到多個環境的麻煩。

ETA:block-configure包含在drush_extras包中,可用於Drush 7.