2012-05-13 28 views
0

我想在視圖字段或視圖tpl.php中顯示上傳到圖像字段的圖像數量。我怎樣才能做到這一點?我的imagefield被稱爲boatimages。我試過這個,但它出來爲0,不是正確的數字:<? php print count($ fields-> field_boatimages)?>如何在視圖中顯示imagefield圖像的數量?

回答

0

Ack。我不認爲count()是這樣工作的。

爲什麼不只是使用Views來做到這一點?看一下參數>設置,你會看到'顯示記錄計數',這看起來就像你需要的一切。

+0

我不明白。視圖中「參數」沒有「設置」?並且參數中沒有參數稱爲「顯示記錄計數」? – JPBurrs45

+0

是的,如果你不知道它是如何工作的,那麼它一點也不明顯。在你的新視圖中選擇該字段的boatimages。然後將您的參數設置爲相同的字段。對於參數不存在的情況下的操作,請選擇已排序的摘要。現在你應該看到之前沒有的設置 - 顯示記錄數。 – Forest

+0

(「設置」鏈接是齒輪圖標。) – Forest

0

我的建議是安裝devel模塊並使用函數dpm打印變量,如果你想知道結構(print_r()也可以)。如果count不起作用,那是因爲你可能使用了錯誤的數據。

或者,您可以查詢該字段的數據庫。我會爲你提供drupal 7的指令,但drupal 6應該是類似的。

檢查表field_data_field_boatimages。看到有一個單一的ENTITY_ID

相關然後執行此查詢

SELECT COUNT(*) FROM `field_data_field_boatimages` WHERE entity_id = ### 

其中###是你想知道你的ENTITY_ID圖像的列表。你可以通過尋找arg(1)arg(0)==節點來獲取它。

現在,你只需要使用PHP的力量來打印塔爾結果

$query = SELECT COUNT(*) FROM `field_data_field_boatimages` WHERE entity_id = :eid 
$result = db_query($query, array(':eid', $nid))->fetchField(); 
echo $result; 

的Drupal 6將是非常相似的。表名和查詢語法只有一點區別。例如使用db_result而不是fetchField()

無論如何祝你好運!

+0

以這種方式做它似乎是一個很好的學習練習,但也是一個圍繞號角旅行,因爲你可以在熱門的分鐘完成這個視圖。另外,他仍然需要爲D6改編D7的例子。 – Forest