
View 的參數其實是透過網址來傳遞的,所以要用參數的功能就一定要先設定 View 的「網址」這個欄位,基本上,這個欄位的網址是頭尾都不可以加斜線 "/",如果沒有在這個網址列裡加入 $arg 的變數,那麼就表示要用網址列的最後倒數第一個斜線之後的字串當作參數。
這樣講好像有點複雜,與個例子來說好了,假設阿舍設定的網址是 /update,當阿舍用網址 http://drupal.soa.tw/update/arthuryu 時,那麼,最後的 arthuryu 就會被當作是參數傳給 View 來用,可是,View 接到這個參數之後要怎麼用呢 ?
這個時候,就來設定 View 的 Arguments 小節裡的欄位了,各位大德要在 Arguments 裡的 「Add Arguments」 選一個種參數來對應傳進的參數值,如果,阿舍在這裡選的是「User: User is Author」,那麼這個 arthuryu 就會被當作是一個使用者名稱,然後這個 Update 的 View 就會只顯示出作者是 "arthuryu" 的文章。
各位大德有沒有一種似曾相見的感覺哩 ! 和那個 Filter ( 過濾器 ) 的設定是不是有異曲同工之妙啊 ! 原則上,阿舍是認為可以把這個 Arguments 的功能當作是 "動態過濾器" 來用,也就是可以依據需要來設定使用者連接的網址來改變所看到的 View。
Arguments 不是只能設定一個,而是可以有很多個,所以各位大德可以看到可以一直按那個「Add arguments」 來增加參數的項目,例如,阿舍除了剛剛的 「User: User is Author」以外,再來加上一個 「Taxonomy: Term Name」的項目,那麼阿舍的網址就可以這樣打 http://drupal.soa.tw/update/arthuryu/模組 ( 是的,中文嘛 A 通 ),這時就會在 Update 的 View 裡,只出現作者為 arthuryu 而且分類 ( Taxonomy ) 為 "模組" 的文章,其還滿實用和好用的....呵呵 !!
另外,在前面有提到,「網址」欄位的下面也有舉例說明,說 Arguments 也是可以擺在網址的中間,例如, user/$arg/tracker,不過,在實務上,關於這個用法,阿舍倒是還沒想出可以用在那裡,所以.....就偷了別人的例子來用...請多見諒囉! ...^^!!。
由於 View 的 Arguments 功能,可以透過網址傳入變數,所以,如果想對於一些 Drupal 或模組內建的排列方式動手腳的話,就可以用 View 定一個和現有的網址一樣的 URL ,然後再配合 Arguments 的使用,便可輕易的取代掉現用的 View 或排列。
舉例來說,阿舍就定了一個網址為 image/tid 的 View,然後再將參數設定為 Taxonomy ID ,那麼阿舍出來的這個 View 就可以取代現有的 Image Gallery 的排列方式哩....!!^^
- 增加新的回應
- 瀏覽次數: 5169

hi, 阿舍兄:
终于等到这个教程了。呵呵 ,顶。