我想通過檢查節點(或未來的分類術語)的'nid'將自定義圖像添加到Drupal的日曆視圖中。我正在編寫這個自定義代碼在views-view-field-calendar-nid.tpl中。將自定義圖像添加到日曆視圖
問題是,view-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>
所以,當觀點視場 - 日曆 - 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
請注意,日曆視圖試圖插入 'id' 屬性裏面有IMG標籤輸出現在的一切都搞砸了......
如何防止Calender將輸出插入到'id'屬性中?或者有沒有其他的方式在Calender視圖中插入圖像?
以下是視圖,視圖場的代碼 - 日曆 - 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;
?>
所建議的模塊還可以實現'hook_preprocess_calendar_node()'。使用實現這種功能的自定義模塊會更好,因爲您可以使用任何主題而無需爲每個主體添加'template_preprocess_calendar_node()'。 – kiamlaluno 2010-07-25 23:49:14
我一定會嘗試編寫我自己的預處理函數。我可以在同一個模板文件中添加此功能嗎? @kiamlaluno,感謝提示,編寫自定義模塊看起來更好選項 – 2010-07-26 18:14:57
@Ajinkya Kulkarni,您可以將它添加到您的主題template.php中。只要記住刷新你的主題緩存。 – 2010-07-26 18:59:27