Drupal 6 サイトに flexslider を追加したばかりですが、テーマで追加しました。flexslider の追加には 2 つの部分があります。1 つ目は flexslider コード (CSS & JS) をページに追加することであり、2 つ目はマークアップ Drupal 出力を変更して、flexslider が正しくターゲットにできるようにすることです。
@pamatt は、最初の質問について説明を求めて正解でした。ブロック、ビュー、フィールドなど、flexslider がターゲットとするマークアップを生成するために使用したい Drupal の部分を教えてくれませんでしたか? モジュールはこれらのいずれか (またはすべて) を提供できますが、その方法は異なります。
次のように、テーマに FlexSlider を追加しました。
まず、jQuery 更新モジュールを追加しました (jQuery を 1.3.2 に更新するため)。
jQuery 1.3.2 で動作する最新バージョンであるため、https://github.com/woothemes/FlexSlider/tree/flexslider1からFlexSlider 1.8 をダウンロードしました。
情報ファイルに、CSS と JS を追加しました (もちろん、これらのファイルをこれらのフォルダーに入れます)。
stylesheets[all][] = css/flexslider.css
scripts[] = js/jquery.flexslider.js
ファイルの先頭にpage.tpl.php
、スライダーを接続するコードを追加しました。
<script type="text/javascript" charset="utf-8">
$(window).load(function() {
$('.flexslider').flexslider();
});
</script>
(あなたの場合、ホームページにスライダーのみが必要な場合は、page--front.tpl.php
代わりにこのコードをファイルに入れることができます。)
ビューを使用して出力を生成することにしたので、2 つのテンプレート ファイルの出力もオーバーライドしましviews-view--featured.tpl.php
たviews-view-unformatted--featured.tpl.php
。これは、flexslider が推奨するマークアップを追加した場所です。
<div class="flexslider"> <!-- change class in the outer template from view-content -->
<ul class="slides"> <!-- add a UL into the inner template -->
<?php foreach ($rows as $id => $row): ?>
<li> <!-- this LI replaces a div in the inner template -->
<?php print $row; ?>
</li>
<?php endforeach; ?>
</ul>
</div> <!-- this div is in the outer template -->
次の人に役立つことを願っています!