您在這裡

案例分析:SonyBMG 的 MyPlay

charlesc's 的頭像
charlesc 在 2008-04-03 (四) 20:50 發表
Myplay.com 是 SonyBMG 的音樂網站,用來展示歌星的影片、音樂和照片,網友可以收藏喜愛的音樂、寫評論,甚至把音樂內容抓出來內箝到自己的網站裡。 在 SonyBMG Launches MyPlay on Drupal 這篇案例分析裡, 介紹了他們如何運用 cck、views、panels 等模組以及版型的設計,以 Drupal 來打造一個娛樂網站。

在 Panels 那一段最下面有一個例子
是使用不同的參數個數去達到不同的顯示畫面, 無參數、一個參數、兩個參數各會用不同的 Layout 來顯示。
Myplay.com 中他的參數是用一個自己寫的 myplay_navigation module ,不過其中也說這參數可以視為跟 Node ID 類似的作用。
不過我試著在 Panels 2 中卻沒辦法針對不同數量的參數指定不同的 Layout。

和文中相同的情況我增加了 Content Type: Artist 和 Video
然後用 Panels 新增 Panel Page, 加上兩個 Arguments: Node ID Artist 和 Node ID Video, Node Type 和 Own Display 各自勾選相同的類別(Node ID Artist 就兩個都勾 Artist),如果沒勾 Own Display 在其他功能(Layout、Content, ...) 就不會出現 Node ID xxx 的 tab

選好以後我回頭去針對不同的 Argument 去設定 Layout, 發現只有 Default 可以設定,其他都會出錯,然後我在反覆在其他設定對不同的 Argument 作各自不同的設定, 然後該 Panels Page 就開始整個不正常了。
錯誤通常都是 "warning: Invalid argument supplied for foreach() in xxx file" 之類的

我用的是 TWPD 0.357 (Drupal 5.7) + Panels 2.x-beta3