Как я могу связать свою функцию с шаблоном в Symfony 4?

Это мой 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));

Это правильно?

почему бы не попытаться выяснить?

treyBake 10.07.2018 10:03
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
289
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Следующая строка должна работать, вы можете получить информацию в вашем файле ветки, выполнив {{json.something}}:

return $this->render('homepage.html.twig', ['json' => json_encode($results)]);

Небольшое редактирование: вам не нужно разбирать $results как json в вашем представлении ветки. Twig может читать $results самостоятельно, не разбирая его на json.

Не могу найти функцию json в стандартной библиотеке ... что это?

Jim Panse 10.07.2018 10:13

@JimPanse необходимо использовать json_encode для серверных данных

peace_love 10.07.2018 10:18

Другие вопросы по теме