2012-02-09 3 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')); 
} 

Теперь в моей локальной тестовой среде колонтитул отображается правильно. Однако, когда я загружаю файл модуля в производственную среду, нижний колонтитул не появляется нигде. Он даже не отображается на странице «Блоки», это почти так, как если бы крючок не регистрировался в Drupal. Кто-нибудь знает, что я мог упустить?

Я очистил кеш.

+0

появится ли он на странице модулей? – SpaceBeers

+0

Да, модуль включен, а остальные функции, которые он предоставляет, работают. – KerrM

+0

Хм. Чем отличается ваша тестовая и производственная среда? – SpaceBeers

ответ

1

Я до сих пор не понял, что с этим не так, но вместо этого вернулся к созданию нижнего колонтитула через графический интерфейс в администрации Drupal.

-2

Возможно, это проблема с кешем: вы очистили свои кэши на производственном сервере? По крайней мере, реестр класса должен быть опустошен, чтобы Drupal зарегистрировал ваш новый блок.

+0

OP утверждает, что он уже очистил кеш. – SpaceBeers

+0

Извините: дважды проверен, но пропустил последнюю строку. – Countzero

0

У меня часто возникает такая же проблема при установке настраиваемого модуля в другой среде. Это происходит только тогда, когда блок не имеет заданной области, поэтому моим обходным путем является перемещение блока с помощью Drush после установки и включения модуля. Когда регион установлен, блок отображается в режиме администратора.

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

недостающее блок также имеет тенденцию появляться, если я сменю имя дельты, но очевидно, что не стоит этого делать, если вы устанавливаете несколько сред.

ETA: блок-Configure включен в пакет drush_extras, для Drush 7.