如何在drupal中的内容模板模块中添加视图?

时间:2010-09-22 08:36:04

标签: php html drupal

您正在研究drupal中的内容模板模块,但是在下面的编码显示排名字段的视图时存在问题

<td width="10%" align="left"><font color="#669900"><b>Address:</b></font></td>
<td colspan="3"><?php print $node->field_perm_add_line1[0]['view'] ?>,<?php print $node->field_perm_add_line2[0]['view'] ?></td>
<td align="left"><font color="#669900"><b>Website:</b></font></td>
<td align="left"><?php print $node->field_website[0]['view'] ?></td>
<td width="8%" align="left"><font color="#669900"><b>Phone:</b></font></td>
<td width="42%" align="left"><?php print $node->field_phone1[0]['view'] ?><?php echo ","; print $node->field_phone2[0]['view'] ?></td>
<td align="left"><font color="#669900"><b>Email:</b></font></td>
<td align="left"><?php print $node->field_alt_email[0]['view'] ?></td>
<td align="left"><font color="#669900"><b>Fax:</b></font></td>
<td align="left"><?php print $node->field_fax[0]['view'] ?></td>
<td align="left"><font color="#669900"><b>Rankings:</b></font></td>
<td colspan="3"><?php print $node->field_university_rankings[0]['view'] ?></td>
<td align="left" colspan="4"><font color="#669900"><b>Description:</b></font></td>
<td style="background-color:#fff; align="left" colspan="4"><?php print $node->field_description[0]['view'] ?></td>

但是对于排名字段我设计了一个具有参数标题的视图,所以我无法得到它如何添加它请帮助.......... 在此先感谢Pranoti

3 个答案:

答案 0 :(得分:1)

你可以从

开始
 var_dump($node->field_university_rankings[0]);

了解这是如何构建的。我怀疑你的代码,

 $node->field_university_rankings[0]['"check_plain($node->title)"']

是对的。因为Drupal很难将标题的剥离版本用作数组中的键。 一旦var_dump()告诉你该数组的确切键,就使用它。

我假设你会发现你会看到像

这样的东西
$node->field_university_rankings[0]['value']; //=> a full, or lartial $node-object.
$node->field_university_rankings[0]['view']; //=> a string with the title of that node, in  a link.

使用与该字段一起显示的显示设置创建“视图”的确切输出。您应该尝试以这样的方式配置它,即'view'已经输出正确的字符串。

答案 1 :(得分:0)

如果您想在您的html文件中使用/嵌入视图,则需要使用:

  • 没有argoument:

      

    echo views_embed_view('VIEW_NAME','DISPLAY_NAME_AND_NUMBER');

  • 带参数:

      

    $ view = views_get_view('VIEW_NAME');
      $ r = $ view-&gt; execute_display('DISPLAY_NAME_AND_NUMBER',数组(ARGOUMNT1,ARGUMENT2));
      echo $ r ['content'];

其中(例如):

VIEW_NAME“last_cd”

DISPLAY_NAME_AND_NUMBER“block_1”

希望这对你有所帮助。

答案 2 :(得分:0)

很抱歉,但我得到了这个问题的解决方案,我想与你们分享,节点字段中存在问题,未选择排名视图。所以去编辑特定节点的选项卡和选择视图参考.......感谢您的回复。我希望这对您有所帮助。