В настоящее время я использую theme_blocks()
в базовой теме для Drupal 6, и мне было трудно конвертировать мою тему в Drupal 7, потому что theme_blocks()
не используется в Drupal 7. Приведенный ниже код представляет собой простую реализацию функции и как я сейчас использую это в Drupal 6:
/* Implementation of theme_blocks() */
function theme_blocks($region) {
var output = '';
if ($list = block_list($region)) {
//cycle through all blocks in a region
foreach ($list as $key => $block) {
//test each block for a given condition
if ($block->delta == 1) {
output = /* make some changes */
}
else {
output = /* theme per usual */
}
}
}
return $output;
}
Итак, по сути, я просто использовал theme_blocks()
для циклического перебора всех блоков в регионе, нацеливания на конкретный блок и изменения нескольких вещей. Проблема в том, что theme_blocks()
больше не используется в Drupal 7.
Есть ли способ нацеливаться на конкретный блок / блоки в заданном регионе и динамически вносить изменения в зависимости от настроек темы в Drupal 7?