2010-03-12 1 views
0

트리 동작으로 올바른 방법을 사용하고 있는지 알 수는 없지만 블로그에 대한 주석 시스템을 작성하려고합니다. 다섯 단계의 들여 쓰기를하고 싶습니다.generatetreelist를 사용하여 추가 필드를 반환하는 경우

generatetreelist 메서드는이 작업을 수행하는 가장 빠른 방법 인 것처럼 보이지만 쿼리에 필드를 추가 할 수있는 것처럼 보이지는 않습니다. 내가 맞습니까? 메소드를 수정할 수있는 방법이 있습니까?

고마워요.

답변

0

제가 그랬다면 결과 세트에서이 작업을 수행합니다. 결과의 첫 번째 차원에서 숫자 배열을 가져올 때 데이터를 들여 쓰기로 출력하거나 필요에 따라 주석을 클래스에 추가 할 때 사용할 수 있습니다.

+0

확실히 이해가되지 않습니다. 트리 동작을 사용하지 않습니까? 또는 단지 Article이 많은 ArticleComment 관계를 가지고 있습니다. – Sabourinov

2

이렇게 카테고리별로 수행하는 방법입니다. 그에 따라 수정할 수 있습니다. 컨트롤러에서

:

$categories = $this->Category->generatetreelist(null,null,null,"|-- "); 
    $categories_array = array(); 
    foreach($categories as $k => $v) 
    { 
     $categories_array[$k] = $this->Category->find('first', array('conditions' => array('Category.id' => $k))); 
     $categories_array[$k]["Category"]["path"] = $v; 
    } 

    $this->set(compact('categories','categories_array')); 

보기에서 :

<table> 
    <thead> 
     <tr> 
     <th><?php __('Id');?></th> 
     <th><?php __('Name');?></th> 
     <th><?php __('Status');?></th> 
     <th><?php __('Action');?></th> 
    </tr> 
    </thead> 
    <tbody> 
    <?php 
    $i = 0; 
    foreach ($categories_array AS $categoryId => $category): 
    $class = 'even'; 
    if ($i++ % 2 == 0) { 
     $class = 'odd'; 
    }?> 
    <tr class="<?php echo $class;?>"> 
    <td><?php echo $category['Category']['id']; ?></td> 
    <td><?php echo $category["Category"]["path"];?></td> 


    <?php if ($category['Category']['status'] == '1'){ 
    $published = 'Active'; 
     }else { 
    $published = 'Inactive'; 
    } ?> 
<td><?php echo $published;?></td> 
<td> 
<?php echo $html->link($html->image("icons/16_icon_view.png"), array('action' => 'view', $category['Category']['id']), array('title'=>'View','escape' => false));?>&nbsp; 
      <?php echo $html->link($html->image("icons/16_icon_edit.png"), array('action' => 'edit', $category['Category']['id']), array('title'=>'Edit','escape' => false));?>&nbsp; 
      <?php echo $html->link($html->image("icons/16_icon_delete.png"), array('action' => 'delete', $category['Category']['id']), array('class'=>'delete_trigger','rel'=>'#error','title'=>'Delete','escape' => false));?> 
     </td> 
    </tr> 

    <?php endforeach; ?> 


</tbody> 
</table>