1

Drupal 6 で page.tpl.php や node.tpl.php に領域を追加することについてはすべて知っています。しかし、別の領域内に領域を追加する必要がある特別なケースがあります。

Drupal のインストールで、次のような region.tpl.php ファイルを見つけました。

<div class="<?php print $classes; ?>">

<?php print $content; ?>

</div><!-- /.region -->

カスタムリージョンを出力するように修正しました:

<div class="testing <?php print $classes; ?>">

<?php print $content; ?>

<?php if ($inner_sidebar_right): ?>
    inside inner-sidebar-right
  <div class="inner-sidebar-right"><?php print $inner_sidebar_right; ?></div>
<?php endif; ?>

うまくいきません。

ps: node.tpl.php にリージョンを追加するときは、template.php の _preprocess_node を操作する必要があります。これを達成するのに役立つ _preprocess_region 関数はおそらくありますか?

4

1 に答える 1

0

drupal_get_region_content()を使用して、任意のリージョンのコンテンツをロードできます。したがって、理論的には、テンプレートの先頭に次のコード行を追加して、目的の結果を得ることができます。

<?php $inner_sidebar_right = drupal_get_region_content('inner_sidebar_right'); ?>

ただし、元の投稿へのコメントで述べたように、これを理想的なソリューションとしてはお勧めしません。最終目標によっては、これを達成するためのより適切な方法がある可能性が高いです。

于 2012-01-12T23:29:57.853 に答える