2016-04-26 5 views
2

私はsymfony 2で初心者です。プロジェクトがあり、CSSを使用して動的なツリーを作成したい場合、このツリーにカテゴリレベルが表示されます。symfony 2でダイナミックツリーを作成する

私はすでに自分でそれをやろうとしましたが、3つのループを使ってカテゴリの最初の3つのレベルを表示できましたが、他のレベルは表示されません。

私が欲しいのは、すべてのカテゴリをツリーとして表示するために再帰または他の方法を使用できるかどうかを知ることです。

この私が使用したアクションメソッド:

public function afficherArborescenceAction(){ 
    $em = $this->getDoctrine()->getManager(); 
    $categories = $em->getRepository('PortfolioBundle:Categorie')->findByCategorieParent(); 
    $sousCategories = $em->getRepository('PortfolioBundle:Categorie')->findSousCategories(); 
    return $this->render('AdministrateurBundle:NouvelleCategorie:showCategories.html.twig',array('categories'=>$categories,'sousCategories'=>$sousCategories)); 
} 

この私のhtmlコード:

<div style="border:1px #999999 solid;border-radius: 5px;width:350px;margin: 100px auto;padding:10px;"> 
<p>Les catégories:</p> 
{% for categorie in categories %} 
    <ul class="tree"> 
     <li><a href="{{path('sous_categorie',{'id': categorie.id})}}">{{ categorie.libelle }}</a> 
      {% for sousCategorie in sousCategories %} 

       <ul> 
        {% if sousCategorie.categorieParent == categorie.id %} 
         <li> 
          <a href="{{path('sous_categorie',{'id': sousCategorie.id})}}">{{ sousCategorie.libelle }}</a> 
          {% for sous in sousCategories %}  
           {% if sous.categorieParent == sousCategorie.id %} 
            <ul> 
             <li> 
              <a href="{{path('sous_categorie',{'id': sous.id})}}">{{ sous.libelle }}</a> 
             </li> 
            </ul> 

           {% endif %} 
          {% endfor %} 
         </li> 
        {% endif %} 
       </ul> 

      {% endfor %} 
     </li> 
    </ul> 
{% endfor %} 

は、これは上記のコードを使用して、私が得る現在のツリーです:

enter image description here

コンポーネントツリーであっ

答えて

関連する問題