您在這裡

請問views中使用grid呈現圖片如何自訂排序?

jimshsu's 的頭像
jimshsu 在 2011-04-07 (四) 20:28 發表

想請教各位,
一般網頁常可以看到讓user按日期,或title排序的功能
如:http://taibnet.sinica.edu.tw/chi/listallpic.php

我再views裡面想做類似的樣子,
不過他的sort都是固定的,沒法讓user指定,
不知有沒有人試過在views做出來?

你給的這個網站例子 taibnet.sinica.edu.tw/chi/listallpic.php, 用grid 的方式來排序,我覺得不是很恰當, 用起來很讓人覺得莫名其妙。 因爲除了圖片, 沒有配合其他欄位顯示,排序功能沒有任何意義。

你可以考慮用開放式排序, 就不是一定要用table。

views 的sort critiria 也和filter 一樣,是可以exposed 開放的。

然後使用的時候,就變成這樣

抱歉我發現我漏看你的原文.

如果你要讓使用者可自訂排序, 那Danny的建議是對的, 用exposed.

至於顯示的結果, 想做grid排列又不想用table, 那改css最快了, 指定div { float: left; } 並設定寬度, 就會有grid的效果了.
例子: http://www.comicrelief.com/
首頁底下的九個pod, 是view list但顯示grid的效果.

解決辦法一個當然可以試著以CSS調整,
還有另一個解決辦法是使用 Views Fluid Grid
他改採用 List 的方式,取代 Grid 原本使用 Table 的形式,
並提供數個預設的寬度,讓每個 Item 都能維持固定距離,而不是Table那種以總寬度依照Item數量平均分割的狀況。

(我用Drupal 7 做測試)

我想應該是你的 theme 有問題,換個theme試試看。如果別的theme 也這樣,那就是你的圖片有問題。image 的顯示,要先用imagecache處理過,讓高度和寬度盡量一樣,這樣圖片排列才會整齊好看。

我自己隨便拿了兩個theme 來試,用views 的grid, 不需要任何css調整,也不會出像你說的空白。

我在下面theme 加了一點css, 固定 td 的 width, 和text-align= center。

在這個theme裏, 則css一點都沒改 (更正,加了text-align=center, 讓圖片下的字, 看起來整齊一點)