1

私はDrupalにかなり慣れていませんが、しばらくの間それで遊んでいます-しかし、これは私を困惑させています:

現在構築しているサイトに2つのアグリゲーターブロックがあります。ブロック全体にテーマを設定する方法はありますか?次に、どのアグリゲーターであるかに応じて、ブロック全体にテーマを設定する方法はありますか?

を介して個々のアイテムにテーマを設定できますtheme_aggregator_block_item。ただし、このテーマは両方のアグリゲーターブロック内にあります。どのアグリゲーターであるかによって、アイテムの出力を変えたいのですが。

block-aggregator.tpl.phpアプローチを試しましたが、そのファイル内で行った変更は反映されません(キャッシュをクリアした後でも)。このファイルをテーマディレクトリとテーマディレクトリ/テンプレート(念のため)に置いていますが、まだどこにも行きません。このフォルダに配置すると、他のものが上書きされます。また、これによってどのようにテーマを設定できるかわかりません。

タイプアプローチで可能if($block_name_var == 'aggregator 1') { // do this }だと思いますが、そもそもブロックテンプレートでテーマを設定できないようです。

任意の考えやアイデアをいただければ幸いです。

4

1 に答える 1

1

テーマ開発者モジュールは、サイトの特定の部分をオーバーライドする方法を決定するのに役立ちます。現在使用されているテーマ関数またはテンプレートファイルと、それらをオーバーライドするためのオプションが表示されます。

この場合、block.tpl.phpをオーバーライドすることで、ブロック全体にテーマを設定できます。異なるアグリゲーターブロックに個別にテーマを設定するには、block-aggregator-feed-1.tpl.phpおよびblock-aggregator-feed-2.tpl.phpを使用して、block.tpl.php関数を個別にオーバーライドできます。

現在のblock-aggregator.tpl.phpが取得されない理由については、最初の推測では、テーマにblock.tpl.phpがまだ含まれていないと思います。新しいテンプレートファイルを作成するときは、テーマにベーステンプレートファイルがすでに含まれていることを確認してください。詳細については、コアテンプレートと提案のページを参照してください。「注:防止するバグがあります...」で始まるセクションを探してください。

于 2011-02-08T00:45:23.647 に答える