【问题标题】:Drupal 7 views - how to sort two content type in one rowDrupal 7 视图 - 如何在一行中对两种内容类型进行排序
【发布时间】:2016-02-21 23:20:38
【问题描述】:

我想构建一个layout,在其中展示两种不同内容类型 (A-B) 的预告片。 预告片将只是图像,其中内容类型 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; ?>

现在我一直在为要显示的内容类型指定顺序,所以告诉视图两个第一个预告片必须是内容类型 A,中间一个是内容类型 B,最后两个是内容类型 A。

这里是布局的截图,也许更容易理解:) screenshot layout

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

【问题讨论】:

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


    【解决方案1】:

    这是一种错误的做法。

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

    网址:hook_views_pre_render

    【讨论】:

    • 感谢@nitin.k 回答我的问题。我已经将那部分代码放在 template.php 文件中。但是我遇到的问题是要显示内容类型的顺序,所以告诉视图两个第一个预告片必须是内容类型 A,中间一个是内容类型 B,最后两个是内容类型 A。你对此有什么建议吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-29
    • 1970-01-01
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多