Это мой 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));
Это правильно?






Следующая строка должна работать, вы можете получить информацию в вашем файле ветки, выполнив {{json.something}}:
return $this->render('homepage.html.twig', ['json' => json_encode($results)]);
Небольшое редактирование: вам не нужно разбирать $results как json в вашем представлении ветки. Twig может читать $results самостоятельно, не разбирая его на json.
Не могу найти функцию json в стандартной библиотеке ... что это?
@JimPanse необходимо использовать json_encode для серверных данных
почему бы не попытаться выяснить?