我应该如何创建许多具有相同内容结构的子页面?
我应该为每个子页面做一个控制器和一个树枝模板,或者我可以为所有页面做一个控制器和一个模板吗?例如,每个子页面都有自己的画廊,QA论坛。
答案 0 :(得分:0)
如果您的子页面是动态的,或者它们具有某些唯一的标识属性,则应使用单个controller
和单个template
进行。
即使是动态布局,您也可以选择从单个Controller
调用的动态模板。
仅当您需要url
结构中的静态参数更改或resource
来源的频繁更改时,请选择其他控制器。
修改强>
下面是我正在谈论的一个小代码参考。
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
模板。
希望这有帮助。