0

クリーンな Pressflow インストールで hook_block フックの実装に問題があります。何らかの理由で、すべてのブロックに対して常に ArrayArray を出力します。これは、テーマ関数の $info 変数が次のように設定されているためです。

["block"]=>
array(7) {
["function"]=>
string(10) "fwtb_block"
["include files"]=>
array(0) {
}
["type"]=>
string(12) "theme_engine"
["theme path"]=>
string(21) "sites/all/themes/fwtb"
["arguments"]=>
array(1) {
  ["block"]=>
  NULL
}
["theme paths"]=>
array(2) {
  [0]=>
  string(14) "modules/system"
  [1]=>
  string(21) "sites/all/themes/fwtb"
}
["preprocess functions"]=>
array(2) {
  [0]=>
  string(19) "template_preprocess"
  [1]=>
  string(25) "template_preprocess_block"
}

}

ご覧のとおり、これは私のカスタム hook_block メソッドで上書きされています。そのため、サブジェクトとコンテンツを含む配列を返す fwtb_block メソッドを使用してブロックをレンダリングする必要があると考えています。そのため、ArrayArray が出力されます。ここで何がうまくいかないのですか?

これは私の hook_block 実装です:

function fwtb_block($op = 'list', $delta = 0, $edit = array()) {
switch ($op) {
  case 'list':
    $blocks['sidebar_description'] = array(
      'info' => t('Sidebar description'),
      'cache' => BLOCK_CACHE_GLOBAL,
      'status' => TRUE,
      'region' => 'left',
      'visibility' => 0,
      'custom' => FALSE
    );
    return $blocks;
  case 'configure':
    $form = array();
    return $form;
  case 'save':
    return;
  case 'view': default:
    switch ($delta) {
      case 'sidebar_description':
        $block['subject'] = t('block_subject');
        $block['content'] = t('block_description');
        break;
    }
    return $block;
}

}

よろしく、ダーン

4

1 に答える 1

0

セットアップを見直した後、問題が何であるかがわかりました。同じ名前のテーマとモジュールがありました。これにより、いくつかの競合が発生しました:/

于 2011-05-12T07:47:29.240 に答える