{{file_location}} Symfony2 中所有文件列表的 Twig 代码

Twig Code for a List of all files which are in {{file_location}} Symfony2

到目前为止,我已经设法在我的树枝视图中显示 "the last file",并且所有这些都显示在我页面上 header 之前第一行的控制器上。现在,我需要在树枝视图中显示所有内容。

这是我的代码:

控制器

public function frmyfilesAction(Request $request)    { $session = $this->getRequest()->getSession(); $em = $this->getDoctrine()->getEntityManager(); $repository = $em->getRepository('redlabLabelBundle:Users');
    if ($session->has('login')) 
    {
        $login = $session->get('login');
        $username = $login->getUsername();
        $password = $login->getPassword();
        $user = $repository->findOneBy(array('userName' => $username, 'password' => $password));
        $dir = $user->getServer();

        if ($dh = opendir($dir))
        {
            $store_array = array() ;
            while (($file = readdir($dh)) !== false)    
            {
                echo $file . "</br>";
                $store_array = $file;
            }
            $mefil = $store_array;
                                }
            closedir($dh);

            return $this->render('redlabLabelBundle:Advert:frmyfiles.html.twig', array('mifil'=> $mefil,'name' => $user->getFirstName(),'fhost' => $user->getServer());
        }
        return $this->render('redlabLabelBundle:Advert:radiofr.html.twig'); }

树枝视图

 {%block body %} <div class="container">
     <h2>Ici sont stoqués tous tes fichiers {{name}}</h2></br></br>     <h4>Mon Dossier {{fhost}}<h4>   </br>

     <a href="{{fhost}}{{mifil}}">{{mifil}} </a>    </br></br></br>     </br></br></br>

     </div>  <a href="{{path('redlab_platform_logout')}}"
     >Déconnection</a></br></br></br></br>
 {%endblock%}

--

如何将 while 循环中的所有数据放入数组中,以便我可以在 twig 视图中使用它?

Twig 旨在呈现视图,没有 Twig 本机函数来读取文件名。 您应该在您的控制器中获取文件名(或者在服务中更好),然后将数据发送到您的视图。 如果你真的想使用 Twig 这样做,是的,你将不得不编写一个 Twig 扩展,但这是一个非常非常非常糟糕的主意......

有效的最终解决方案很简单;只需用此代码替换 twig yiew:

{%block body %}
<div class="container">

    <h2>Ici sont stoqués tous tes fichiers {{name}}</h2></br></br>
    <h4>Mon Dossier {{fhost}}<h4>
    </br>

    {% for item in mifil %}
        <li><a href="{{fhost}}{{item}}">{{item}} </a></li>
    {% endfor %}

    </br></br></br>
    </br></br></br>
</div> 
<a href="{{path('redlab_platform_logout')}}" >Déconnection</a></br></br></br></br>
{%endblock%}