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


Drupal 7 views - how to sort two content type in one row

我想建立一个layout,在其中展示两种不同内容类型(A-B)的预告片。预告片将只是图像,其中内容类型 A 的 1 个预告片是内容类型 B 的一半高度,我希望每行有 3 列。因此,第一列和最后一列各有 2 个内容类型 A 的预告片,中间列有一个内容类型 B 的预告片。 1A-1A -- 1B -- 1A-1A。

我在 views-view-unformatted.tpl 中使用了以下代码.php以获得正确的布局结构(可能我应该在模板上执行此操作.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; ?>

现在,我陷入了对要显示的内容类型的顺序的困扰,因此告诉视图前两个预告片必须是内容类型 A,中间一个是内容类型 B,最后两个内容类型 A。

这里有一个截图,应该看起来像布局,所以也许更容易理解:)屏幕截图布局

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

这是一种错误的做法。

在预渲染函数中进行操作,然后在 tpl 文件中渲染变量。

网址: hook_views_pre_render