Drupal 7 views - 如何在一行中对两种内容类型进行排序

时间:2016-02-21 23:20:38

标签: php drupal-7 views drupal-views drupal-theming

我想构建一个layout,其中我展示了两种不同内容类型(A-B)的预告片。 teasers将只是图像,其中内容类型A的1个预告片是内容类型B的高度的一半,并且我希望每行3列。 因此,第一列和最后一列包含2个预告片,每个内容类型A和中心列,内容类型为B. 1A-1A - 1B - 1A-1A。

我在views-view-unformatted.tpl.php中使用了以下代码来获得正确的布局结构(可能我应该在template.php上完成此操作)

<?php foreach ($rows as $id => $row): ?>
<?php if($id % 5 == 0){ print '<div class="row">'; } ?>
    <?php if($id % 5 == 2){ print '<div class="col-center">'; } ?>
    <div class="<?php print $classes_array[$id]; ?>"><?php print $row; ?></div>
    <?php if($id % 5 == 2){ print '</div>'; } ?>
  <?php if($id % 5 == 4){ print '</div>'; } ?>
<?php endforeach; ?>

现在我不得不给出要显示的内容类型的顺序,所以告诉两个第一个teasers必须是内容类型A,中间一个是内容类型B,最后两个内容类型A。

这里有一个截图应该看起来像布局,所以可能更容易理解:) screenshot layout

任何建议都将不胜感激!感谢您的阅读

1 个答案:

答案 0 :(得分:0)

这是一种错误的做法。

在预渲染功能中执行操作,然后在tpl文件中渲染变量。

网址:hook_views_pre_render