Cake PHP树教程类别列表输出不正确

时间:2013-09-29 05:11:50

标签: php cakephp

我正在做this教程,输出与它应该是的不同。 它说我应该得到一个很好的嵌套项目符号列表。

相反,我得到了这个:

/app/Controller/CategoriesController.php (line 7)
array(
    (int) 1 => 'My Categories',
    (int) 2 => '   Fun',
    (int) 3 => '      Sport',
    (int) 4 => '         Surfing',
    (int) 5 => '         Extreme knitting',
    (int) 6 => '      Friends',
    (int) 7 => '         Gerald',
    (int) 8 => '         Gwendolyn',
    (int) 9 => '   Work',
    (int) 10 => '      Reports',
    (int) 11 => '         Annual',
    (int) 12 => '         Status',
    (int) 13 => '      Trips',
    (int) 14 => '         National',
    (int) 15 => '         International'
)

我按照说明去了发球台。

这是CategoriesController.php文件:

class CategoriesController extends AppController {

    public function index() {
        $data = $this->Category->generateTreeList(null, null, null, '   ');
        debug($data); die;   // line 7 in the error message
    }
}

2 个答案:

答案 0 :(得分:0)

您得到的是预期的输出。这本食谱没有明确说明你会得到一个子弹列表 - 它说“你应该看到这样的东西”,然后显示一个子弹列表。这是误导,我知道......

在源代码中,该方法描述为:

 A convenience method for returning a hierarchical array used for HTML select boxes

因此,您的输出是正确的,文档不正确,或至少不完整/误导。

答案 1 :(得分:0)

如果我理解正确,您会对如何设置视图感到困惑。 您返回无序列表的视图应该是这样的:

    echo $this->Html->link("Add Category",array('action'=>'add')); 
    echo "<ul>";

    foreach($data as $key=>$value){   
        echo "<li>$value</li>";
    }  

    echo "</ul>";

不要忘记将其添加到控制器型号中:

  

public $ actsAs = array('Tree');