Динамический контент Symfony 3.4 на маршрутах (слушатель?) - PullRequest
0 голосов
/ 21 мая 2018

Я бы хотел, чтобы на нескольких страницах моего приложения был динамический контент.Этот контент будет храниться в моей базе данных, и администратор может обновить его, когда захочет.

Можно ли создать прослушиватель, выполняемый каждый раз, когда вызывается маршрут, чтобы проверить, есть ли в базе данных контент для этого?маршрут, а затем внедрить его в шаблон?

Большое спасибо

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Возможно, вы захотите взглянуть на Dynamic Router (https://symfony.com/doc/master/cmf/bundles/routing/dynamic.html).. Он входит в пакет Symfony CMF (http://cmf.symfony.com/), который фактически является способом создания CMS для Symfony.

0 голосов
/ 21 мая 2018

Если вы посмотрите на Маршрут, он позволит вам создавать более динамичные.Т.е.:

/**
 * @Route("/pages/{fieldname}/{value}
 */
public function pageContentAction(Request $request)
{
...
}

Таким образом, вы можете повторно использовать параметры и проверять БД на содержание:

        $fieldName = $request->get('fieldname');
        $newValue = $request->get('value');

        $page = $em->getRepository('AppBundle:Pages')->findOneBy(
            array('fieldname' =>$fieldName,'value'=>$value)
        );
        if ($page == null){
            return new JsonResponse(['message'=>'Page Not Found'],404);
        }
...