Drupal 7 视图 - 如何访问自定义模板中未格式化的 $row 变量?

发布于 2024-10-22 06:13:04 字数 849 浏览 2 评论 0原文

我刚刚安装了 Drupal 7 的视图模块,并试图找出如何自定义它。

到目前为止,我做了以下几件事。

  1. 创建了一个内容类型指定的视图并将其命名为“videotest”。
  2. 创建了一个自定义主题“views-view-list--videotest.tpl.php”
  3. 该页面运行没有问题。

以下是我使用的自定义模板代码(这是视图中的默认模板):

<?php print $wrapper_prefix; ?>
  <?php if (!empty($title)) : ?>
    <h3><?php print $title; ?></h3>
  <?php endif; ?>
  <?php print $list_type_prefix; ?>
    <?php foreach ($rows as $id => $row): ?>
      <li class="<?php print $classes_array[$id]; ?>"><?php print $row; ?></li>
    <?php endforeach; ?>
  <?php print $list_type_suffix; ?>
<?php print $wrapper_suffix; ?>

如何防止视图为我格式化 $row? 我喜欢使用 foreach 自己格式化节点中的每个值。

我尝试使用未格式化的自定义模板将视图样式设置为“未格式化”,但它也为我设置了每个值的样式。

I just installed Views module for Drupal 7 and am trying to find out how to customize it.

So far, I have done the following things.

  1. Created a content type specified views and named it as 'videotest'.
  2. Created a custom theme as 'views-view-list--videotest.tpl.php'
  3. The page is working without a problem.

Here is the custom template code I used (this is the default template from Views):

<?php print $wrapper_prefix; ?>
  <?php if (!empty($title)) : ?>
    <h3><?php print $title; ?></h3>
  <?php endif; ?>
  <?php print $list_type_prefix; ?>
    <?php foreach ($rows as $id => $row): ?>
      <li class="<?php print $classes_array[$id]; ?>"><?php print $row; ?></li>
    <?php endforeach; ?>
  <?php print $list_type_suffix; ?>
<?php print $wrapper_suffix; ?>

How do I prevent Views to format $row for me? I like to format each values in a node myself using foreach.

I tried to set the view style as 'unformatted' with unformatted custom template, but it also style each value for me.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

自我难过 2024-10-29 06:13:04

您应该使用字段模板而不是“显示”、“样式”或“行”。

或者您可以在“行”模板中使用这两个字段。例如:

print $fields['you_field_value']->raw;

“you_field_value”的名称显示为视图显示字段列表中链接的一部分。

You should to use fields templates not 'Display', 'Style', or 'Row'.

Or you can use both fields in 'Row' template. Ex:

print $fields['you_field_value']->raw;

Name of 'you_field_value' show as part of link in fields list of view display.

家住魔仙堡 2024-10-29 06:13:04

或者获取字段的值:

print $fields['field_pretitle_front']->content;

Or to get the value of field:

print $fields['field_pretitle_front']->content;
楠木可依 2024-10-29 06:13:04
print $fields['your_field_value']->raw;

对我不起作用,但以下内容对我有用。

$row->field_YOUR_FIELD[0]['rendered']['#markup'];
print $fields['your_field_value']->raw;

did not work for me, however the following did in my case.

$row->field_YOUR_FIELD[0]['rendered']['#markup'];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文