2013-04-08 107 views
0

你好,我是創建該API中獲取數據.. 現在我得到的所有結果在1個API調用,我做它作爲數據提供程序搜索模塊分頁行爲。 這是代碼..如何編輯警予

$dataProvider = new CArrayDataProvider($result, array(   
                'sort' => array(
                'attributes' => array('name', 
                  ), 
                ), 
                'pagination' => array(
                  'pageSize' => 10, 
                ), 
              )); 

這是工作的罰款,並給予分頁。我想要做的是使用API​​的限制和ofset。 用於例如考慮叫喊API

http://api.yelp.com/search?term="xxx"&location="xxx"&limit=10&ofset=0; 

我想最初只得到10結果,我需要另一個API調用來獲得下一組當我點擊分頁[2]或下一個>。

這怎麼辦?

我還需要專家意見。哪一個更好。?一次調用api並獲取所有細節一次或逐一獲取幾個?預期的結果將是200左右..

回答

1

Yelp的不允許 「緩存」 在任何意義http://www.yelp.com/developers/getting_started/api_terms(第6節)的搜索結果。所以我相信你每次點擊分頁鏈接時都需要打電話。

爲此我會創造一些YelpDataProvider從CDataProvider延伸並覆蓋所需的抽象方法。

分頁:

不知道我有你面對什麼樣的問題,但如果你實現你自己的數據提供者,你將有機會獲得CPagination類實例及其屬性pageSizeoffsetpageSize要被映射到limit狗吠聲請求參數,offset屬性 - 直接向offset請求PARAM。

我希望這會有所幫助。