2013-11-22 21:28
浏览 47

如何在Drupal 7中显示数组的所有值

I'm working on a Drupal 7 site with an event listing. I've added a date field so the user can specify the date or dates for the event. Now I'm trying to get the date(s) to show in the template. I've tried using this:

<?php print $node->field_event_date['und'][0]['value']; ?>

That works ok, but it only shows one event from the array. I could just repeat that line 10 times and replace the array item number in each one, but I figure there has to be a way to show all the items in an array, whether it's one or ten. Can this be done with PHP or do I need to make a View?

图片转代码服务由CSDN问答提供 功能建议

我正在使用具有事件列表的Drupal 7站点。 我添加了一个日期字段,以便用户可以指定事件的日期。 现在我想要在模板中显示日期。 我尝试过使用它:

 &lt;?php print $ node-&gt; field_event_date ['und'] [0] ['value'];  ?&gt; 

这样可行,但它只显示数组中的一个事件。 我可以重复该行10次并替换每行中的数组项目编号,但我认为必须有一种方法来显示数组中的所有项目,无论是一个还是十个。 这可以用PHP完成,还是需要创建一个View?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

  • donglu953744 2013-11-22 22:13

    In PHP terms you're probably looking for a foreach loop, to iterate over the array and print the values.

    In Drupal terms, you'll want to use that with the field_get_items() function:

    $items = field_get_items('node', $node, 'field_event_date');
    foreach ($items as $item) {
      print $item['value'];

    For bonus fun, check out EntityMetadataWrappers

    解决 无用
    打赏 举报

相关推荐 更多相似问题