这是我的dataTableController.php:
namespace App\Controller;
use DataTables\DataTablesInterface;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Request;
/**
* @Route("/users", name="users_")
*/
class DataTableController extends Controller
{
/**
* @Route("", name="list")
*
* @param Request $request
* @param DataTablesInterface $datatables
* @return JsonResponse
*/
const ID = 'users';
public function usersAction(Request $request, DataTablesInterface $datatables): JsonResponse
{
try {
// Tell the DataTables service to process the request,
// specifying ID of the required handler.
$results = $datatables->handle($request, 'users');
return $this->json($results);
}
catch (HttpException $e) {
// In fact the line below returns 400 HTTP status code.
// The message contains the error description.
return $this->json($e->getMessage(), $e->getStatusCode());
}
}
}
我想将输出连接到我的主页模板。
所以我改变了这一行。
return $this->json($results);
..此行:
return $this->render('homepage.html.twig', json($results));
这正确吗?
答案 0 :(得分:1)
以下行应该有效,您可以执行{{json.something}}
来检索树枝文件中的信息:
return $this->render('homepage.html.twig', ['json' => json_encode($results)]);
小修改:您不必将$results
解析为json到树枝视图。 Twig可以自行读取$results
,而无需将其解析为json。