Drupal 7.でプログラムで領域を作成することに行き詰まっています。infoファイルで領域を作成する方法を知っていますが、問題は、作成するすべてのノードに特定の領域を表示することです。すべてのノードを個別にブロックします。
Drupal 7のみに興味があります。モジュールを作成することで可能であれば、それも私にとって興味深い解決策です。
テーマの.infoファイルを編集して、次の行を追加します。
regions[youregionname] = Your Region name
テンプレートファイル(「page.tpl.php」など)を編集し、次の行を追加します。
<?php if(!empty($page['youregionname'])) : ?> <!--check if region enabled-->
<div class='my-new-region-class' > <!--add class to my region-->
<?php print render($page['youregionname']); ?> <!--print the region-->
</div>
<?php endif; ?>
ファイルを編集したら、キャッシュをクリアすることを忘れないでください。
それでも、テーマの.info
ファイルにリージョンを作成する必要があります。ただし、これらの新しいリージョンをデータベースに手動で追加する以外に方法はありません。その後、 Node Blocks module を取得します。これにより、どのノードにどのブロックを表示するか、およびそれらをどのリージョンに配置するかを決定するのに役立ちます。
Maged adelが言ったように、.infoファイルでリージョンを作成し、次にpage.tpl.phpファイルでこれらの変数を使用して、adminセクションからブロックを作成し、リージョンに配置して、ノードごとに異なるようにする必要があります。