创建了许多子页面,symfony

时间:2016-10-24 11:58:13

标签: php symfony twig

我应该如何创建许多具有相同内容结构的子页面?

我应该为每个子页面做一个控制器和一个树枝模板,或者我可以为所有页​​面做一个控制器和一个模板吗?例如,每个子页面都有自己的画廊,QA论坛。

1 个答案:

答案 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模板。

希望这有帮助。