我在HomeController中添加了一些脚本来从我的数据库导入数据并将其显示在我的主页页脚中。像那样:
/**
* @Route("/", name="homepage")
* @Template(":frontend:index.html.twig")
*/
public function indexAction()
{
$social_manager = $this->get('socialLink_manager');
$socials = $social_manager->getSocials();
return [
'socials' => $socials
];
}
但在其他页面中,我无法找到我的数据。因此,我在另一个控制器中复制相同的代码,以在我的页脚中包含相同的数据。我想这样做一次,并在所有页面中都有相同的想法。
答案 0 :(得分:0)
只需调用一个新的控制器操作:
#!/bin/bash
BACKTITLE="Some backtitle"
FILENAME="filename.txt"
touch $FILENAME
INPUT=/tmp/menu.sh.$$
ret=0
while [ $ret -eq 0 ]
do
dialog --title "Menu" \
--backtitle "$BACKTITLE" \
--menu "Wybierz" 10 60 3 \
1 "Pokaz menu" \
2 "Edytuj" \
2>"${INPUT}"
ret=$?
option=$(<"${INPUT}")
if [ $ret -eq 0 ]
then
if [ $option -eq 1 ]
then
dialog --title "File content" \
--backtitle "$BACKTITLE" \
--textbox $FILENAME 10 60
elif [ $option -eq 2 ]
then
dialog --title "Edit file content" \
--backtitle "$BACKTITLE" \
--editbox $FILENAME 10 60
editboxret=$?
echo $editboxret
ret=0
fi
fi
done
新的控制器操作:
{{ render(controller('AppBundle:Default:social')) }}
和default / social.html.twig:
# src/AppBundle/Controller/DefaultController.php
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class DefaultController extends Controller
{
public function socialAction()
{
$em = $this->getDoctrine()->getManager();
$socials = $em->getRepository('AppBundle:Social')->getAll();
return $this->render('default/social.html.twig', array(
'socials' => $socials,
));
}