在页脚中显示所有页面的数据

时间:2015-11-08 21:21:22

标签: php symfony

我在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
        ];
    }

但在其他页面中,我无法找到我的数据。因此,我在另一个控制器中复制相同的代码,以在我的页脚中包含相同的数据。我想这样做一次,并在所有页面中都有相同的想法。

1 个答案:

答案 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,
        ));
    }