【发布时间】:2010-07-25 21:26:40
【问题描述】:
我正在尝试通过检查节点的“nid”(或将来的分类术语)将自定义图像添加到 Drupal 的日历视图中。我正在views-view-field--calendar--nid.tpl中编写这个自定义代码。
问题在于,views-view-field--calendar--nid.tpl 输出的内容也被插入到 div 标签的 'id' 属性中。请查看第二个 div 标签。
254 是输出,它也被插入到 'id' 属性中。
<div class="view-item view-item-calendar">
<div class="calendar monthview" id="calendar:
254:changed:0:0">
<div id="nid" class="view-field view-data-nid">
254 </div>
</div>
所以当 views-view-field--calendar--nid.tpl 输出 img 标签时,它也被插入到 'id' 属性中,这打破了第二个 div 标签。
请看下面的输出
<div class="view-item view-item-calendar">
<div class="calendar monthview" id="calendar:
<img src="http://www.programmingnature.com/stackoverflow_32.png"> </img>255:changed:0:1">
<div id="nid" class="view-field view-data-nid">
<img src="http://www.programmingnature.com/stackoverflow_32.png"> </img>255 </div>
</div>
</div>
截图:
alt text http://img201.imageshack.us/img201/3140/calendarproblem.png
请注意,日历视图试图将带有 img 标记的输出插入到该 'id' 属性中,现在一切都搞砸了...
如何防止 Calender 将输出插入“id”属性?或者有没有其他方法可以在日历视图中插入图像?
下面是views-view-field--calendar--nid.tpl的代码
<?php
$results = $variables['view']->result;
$nid=$output;
$newOutput="";
foreach ($results as $key => $value) {
//Find the matching nid
if ($nid==255) {
$newOutput.= '<img src="http://www.programmingnature.com/stackoverflow_32.png"> </img>';
}
$newOutput.=$nid;
}
print $newOutput;
?>
【问题讨论】:
标签: drupal drupal-6 drupal-views