Zenテーマを使用して、スライドショーの領域を作成したいと思います。問題は、page.tpl.phpファイルのどこにコードを配置するかわからないことです。ナビゲーションを上にして、スライドショー、残りのWebサイトの順に表示します。次のコードをpage.tpl.phpファイルのすべての場所に配置しようとしましたが、目的の結果を得ることができませんでした。
これが私が使っているコードです:
<?php if ($page['featured_slider']): ?>
<div id="featured-slider">
<?php print render($page['featured_slider']); ?>
</div> <!-- End Featured Slider-->
<?php endif; ?>
上記のコードなしのpage.tpl.phpファイルを次に示します。
?>
<div id="page-wrapper"><div id="page">
<div id="header"><div class="section clearfix">
<?php if ($logo): ?>
<a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home" id="logo"><img src="<?php print $logo; ?>" alt="<?php print t('Home'); ?>" /></a>
<?php endif; ?>
<?php if ($site_name || $site_slogan): ?>
<div id="name-and-slogan">
<?php if ($site_name): ?>
<?php if ($title): ?>
<div id="site-name"><strong>
<a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home"><span><?php print $site_name; ?></span></a>
</strong></div>
<?php else: /* Use h1 when the content title is empty */ ?>
<h1 id="site-name">
<a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home"><span><?php print $site_name; ?></span></a>
</h1>
<?php endif; ?>
<?php endif; ?>
<?php if ($site_slogan): ?>
<div id="site-slogan"><?php print $site_slogan; ?></div>
<?php endif; ?>
</div><!-- /#name-and-slogan -->
<?php endif; ?>
<?php print theme('links__system_secondary_menu', array(
'links' => $secondary_menu,
'attributes' => array(
'id' => 'secondary-menu',
'class' => array('links', 'inline', 'clearfix'),
),
'heading' => array(
'text' => $secondary_menu_heading,
'level' => 'h2',
'class' => array('element-invisible'),
),
)); ?>
<?php print render($page['header']); ?>
</div></div><!-- /.section, /#header -->
<div id="main-wrapper"><div id="main" class="clearfix<?php if ($main_menu || $page['navigation']) { print ' with-navigation'; } ?>">
<div id="content" class="column"><div class="section">
<?php print render($page['highlighted']); ?>
<?php print $breadcrumb; ?>
<a id="main-content"></a>
<?php print render($title_prefix); ?>
<?php if ($title): ?>
<h1 class="title" id="page-title"><?php print $title; ?></h1>
<?php endif; ?>
<?php print render($title_suffix); ?>
<?php print $messages; ?>
<?php if ($tabs = render($tabs)): ?>
<div class="tabs"><?php print $tabs; ?></div>
<?php endif; ?>
<?php print render($page['help']); ?>
<?php if ($action_links): ?>
<ul class="action-links"><?php print render($action_links); ?></ul>
<?php endif; ?>
<?php print render($page['content']); ?>
<?php print $feed_icons; ?>
</div></div><!-- /.section, /#content -->
<?php if ($page['navigation'] || $main_menu): ?>
<div id="navigation"><div class="section clearfix">
<?php print theme('links__system_main_menu', array(
'links' => $main_menu,
'attributes' => array(
'id' => 'main-menu',
'class' => array('links', 'inline', 'clearfix'),
),
'heading' => array(
'text' => t('Main menu'),
'level' => 'h2',
'class' => array('element-invisible'),
),
)); ?>
<?php print render($page['navigation']); ?>
</div></div><!-- /.section, /#navigation -->
<?php endif; ?>
<?php print render($page['sidebar_first']); ?>
<?php print render($page['sidebar_second']); ?>
</div></div><!-- /#main, /#main-wrapper -->
<?php print render($page['footer']); ?>
</div></div><!-- /#page, /#page-wrapper -->
<?php print render($page['bottom']); ?>
if($page['featured_slider']):
を削除してみてください
スライドショーブロックがfeatured_slider領域に配置されていることを確認してください。
スライドショーを含むブロックを正しい領域に割り当てていること、およびスライドショーにコンテンツが含まれていることを確認してください。
カスタムリージョンをテーマに追加するには:
regions[featured_slider] = Featured slider
。page.tpl.php
で、リージョンコンテンツをレンダリングします
<?php if ($page['featured_slider']): ?>
<div id="featured-slider">
<?php print render($page['featured_slider']); ?>
</div> <!-- End Featured Slider-->
<?php endif; ?>
キャッシュを空にするを忘れないでください。
最後のステップ:admin/structure/block
管理メニューから、または
$block = module_invoke('views', 'block_view', 'SLIDESHOW_VIEWBLOCK_NAME');
print render($block);
(私は個人的にはスライドショーのためだけの領域を作成してヘッダー領域に配置することはしませんが、それはもちろんあなた次第です。)
または、phpを変更せずに、スライドショーブロックをコンテンツ領域(上部)に割り当てるだけで、通常のページコンテンツの上、つまりナビゲーション(メニュー)の下に配置できます。