代码之家  ›  专栏  ›  技术社区  ›  Asim

cakephp调用视图文件中的控制器函数

  •  1
  • Asim  · 技术社区  · 11 年前

    我的方法是

    public function topmenu($parentsid=null){
                $this->layout =false;
                $category_tree  = $this->Categorymaster->find('all',array('order'=>'Categorymaster.lft ASC','conditions'=>array('Categorymaster.parent_id'=>$parentsid)));
                echo '<ul class="sub-menu" role="menu">';
                foreach($category_tree as $parentval){
                    echo '<li>'.$parentval['Categorymaster']['name'].'</li>';
                    $id = $parentval['Categorymaster']['id'];
                    $haschild = $this->Categorymaster->children($id, true);
                    if (!empty($haschild)) {
                        $this->topmenu($id);
                    }
                }
                echo '</ul>';
                $this->set(compact('category_tree'));
                $this->render('topmenu');
            }
    

    我从控制器获得输出

    enter image description here

    我正在尝试使用 foreach 在我的topmnu.ctp文件中循环,但作为cakephp 是mvc吗

    $haschild = $this->Categorymaster->children($id, true);
                        if (!empty($haschild)) {
                            $this->topmenu($id);
    }
    

    那么它如何使用 topmenu() 方法,这样我就可以在菜单或任何其他选择中显示它。

    1 回复  |  直到 10 年前
        1
  •  1
  •   A J    9 年前

    首先,直接在ctp(view)文件中调用控制器方法从来不是一个好的做法。

    如果你仍然想这样做,试着这样打电话:-

    Controller name::(scope resolution operator) function name(parameters). 
    

    注:- 确保您的方法是公共的。

    推荐文章