Если ваши подстраницы являются динамическими или у них есть определенные уникальные свойства для идентификации, вы должны сделать это с помощью одного controller
и одного template
.
Даже для динамической компоновки вы можете выбрать динамические шаблоны, которые вызывается из одного Controller
.
Только в случае необходимости изменения статического параметра в конфигурации url
или частого изменения в вашем источнике resource
, перейдите к другому контроллеру.
EDIT
Ниже приведен небольшой код ссылки на то, что я имею в виду.
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
class LuckyController extends Controller{
/**
* @Route("/subpage/{slug}")
*/
public function numberAction($slug)
{
$em = $this->getDoctrine()->getManager();
$subPage = $em->getRepository("AppBundle:SubPage")->findBy(array('slug' => $slug));
if (!$subPage) {
throw new NotFoundHttpException('Entity not found!');
}
return $this->render('default/sub_page.html.twig', array(
'subpage' => $subPage
));
}
}
Я предполагаю, что суб-страницы хранятся в базе данных, и у вас есть ORM
, который обрабатывает операции с базой данных через EntityManager
Выход лежит через twig
шаблон.
Надеюсь, это поможет.
Я бы сказал, сделаю 1 файл шаблона, и сделайте контроллер, чтобы получить правильную страницу на основе запроса, а затем заполнить шаблонные вары. вы можете использовать таблицу страниц в своей базе данных или что-то подобное – sietse85
Могу ли я создавать маршруты, получая пули из базы данных? Аналогично контроллеру – alex0
, если вы просто сделаете отправку уникального идентификатора страницы в запросе, вы также можете позволить контроллеру справиться с остальными, нет необходимости в дополнительных маршрутах. – sietse85