2016-02-17 36 views
0

在我的旅程學習的Symfony(第3版)我已經建立了一個過濾器形式的客戶名單。我搜索過一些例子互聯網基礎上提供過濾器ajaxify表結果。大多數信息是像現有stwe/DatatablesBundle束或結合Angular/ReactJS使用Symfony的。Symfony的 - Ajaxify表濾波器

提到的最後一個選項是其實很有趣,但作爲一個開端Symfony的開發者,我更感興趣的的Symfony/Javascript或JQuery的從頭開始構建這個功能。 換句話說,類似於http://www.w3schools.com/php/php_ajax_database.asp的指令,但Symfony特定。

我熟悉創建一個JSON響應,但是什麼是綁定數據的最佳方式是什麼?用JQuery寫出來? ...

謝謝你的建議。

回答

0

在我看來,最好的辦法是有一個只呈現數據行的模板。然後創建一個控制器操作,其目的是使用您的過濾器獲取數據並使用data_rows模板呈現此數據。

public function tableAction(Request $request) 
{ 
    $filters = // ... 
    $rows = $repository->findAllWithFilters($filters); 

    // ... 

    return $this->render('data_rows.html.twig', ['rows' => $rows]); 
} 

最後,使用render controller在你的「主」行動,將這一要求作爲你的主視圖子請求:

{{ render(controller('AppBundle:Default:table', {'filters': filters})) }} 

如果這樣做了,你可以直接調用在tableAction路線你的jQuery腳本,它將返回呈現的行。只需在HTML中追加行,你就可以走了。

+0

謝謝你的建議我會試試這個 –