3

Drupal 開発は初めてで、モジュールのプリプロセッサ関数に既存の領域変数を追加しようとしていました。

基本的に、私は自分のサイト用に新しいリージョンを作成しました (これは私のテーマの .info ファイル内の定義です):

regions[feeds] = Feeds

Administer->Blocks から、必要なブロックを新しい "Feeds" 領域に追加しました。

次に、別のモジュールである「高度なフロント ページ」モジュールから、このモジュール内の「フロント ページ」に PHP を追加しようとしています。Advanced Front Page モジュールでは、他のサイト コンテンツのリストなどをすぐに表示するのではなく、サイトにランディング ページを表示するだけで済みます。コンテンツ エリアで PHP を有効にしてから、以下を追加しました。

<div>
    <?php print $feeds; ?>
</div>

「フィード」領域は出力されません。これは、その領域変数が page.tpl.php ファイルの外部からアクセスできないためだと思います。そこで、いろいろ調べたところ、次のリンクにたどり着きました。

http://drupal.org/node/223430

http://drupal.org/node/237391

そこから、「front_page」というモジュール名を持つモジュール「Advanced Front Page」のプリプロセッサ関数を追加しようとしました(または単に「front」である可能性があります。100%確信はありません)。template.php ファイルと /modules/front/front_page.module ファイルの両方に追加しようとしたプリプロセッサ関数を次に示します (同時にではありませんが、気をつけてください)。

function front_preprocess(&$vars)
{
 $vars['feeds'] = theme('blocks', 'feeds');
}

このファイルを配置した場所 (template.php または front_page.module) に関係なく、何もしないようです。私が間違っている可能性がある場所はありますか?

4

2 に答える 2