/ / 9ノードより3 6個後のブロックをレンダリングする-drupal、time、block

9ノード後のブロックを9ノードよりもレンダリングする - drupal、time、block

Drupal 7サイトを使用しています。「クライアントストーリー」ページがあり、ページにノードを表示するビューモジュール「ティーザービュー」が作成されています。

ここでの要件は、このページで単一のブロックを複数回表示する必要があることです。最初に3つのノードの後、次に6つのノードの後、9つのノードなどのように..多くのロジックを考えましたが、失敗しました。

誰もこれをどのように達成できますか?私もグーグルを見ましたが、結局空になりました。

回答:

回答№1は1

テストされていませんが、これはあなたが探しているもののようです: https://github.com/pedroposada/custom_views_nthrow これはビュー用のDrupal 7モジュールで、まさに必要なことを行います。

あなたが自分でそれをしたい場合は、ここでステップバイステップのソリューションは、本当に簡単です! http://www.jasom.net/how-to-add-custom-code-adsense-after-first-row-in-drupal-7-and-drupal-8-views-one-line-solution

ビューのカスタム.tplを作成し、次のコードを使用します。

    <?php if (!empty($title)): ?>
<h3><?php print $title; ?></h3>
<?php endif; ?>
<?php foreach ($rows as $id => $row): ?>
<div<?php if ($classes_array[$id]) { print " class="" . $classes_array[$id] .""";  } ?>>
<?php print $row; ?>
</div>
<?php if ($id == 0 || $id == 5): ?>My custom code after first and sixth row in Drupal views<?php endif; ?>
<?php endforeach; ?>

$ id番号を2,5および8に変更します。


回答№2の場合は0

最も簡単な方法は、ビューtpl(スタイル1)をオーバーライドし、そこにロジックを追加して、ロールのすべての「行」をレンダリングする代わりに、3ノードごとにブロックを出力することです。