【问题标题】:How can I generate view from controller without having/creating/getting the view.ctp file?如何在没有/创建/获取 view.ctp 文件的情况下从控制器生成视图?
【发布时间】:2011-09-08 02:30:17
【问题描述】:

当“posts/index”动作被执行时,“views/posts/index.ctp”被调用。

在“views/posts/index.ctp”中有结果展示。

我不想创建/拥有/获取“views/posts/index.ctp”文件。

我想展示 'posts/index' 操作的结果,我不需要 'views/posts/index.ctp' 文件。

我该怎么做?

【问题讨论】:

    标签: cakephp cakephp-1.3


    【解决方案1】:

    您需要将自动渲染设置为 false:

    $this->autoRender = false;
    //any echo's will be printed as the "view"
    echo "My Posts\n";
    

    您甚至可以使用以下命令省略布局:

    $this->layout = false;
    

    【讨论】:

      【解决方案2】:

      如果您不希望某个方法自动加载视图,您可以在该方法中设置$this->autoRender = false

      您还可以使用render() 方法来呈现路径不遵循 CakePHP 约定的视图。

      【讨论】:

        【解决方案3】:

        如果您不想创建视图,则不应使用模型-视图-控制器框架。

        【讨论】:

        • 那么它变得像模型控制器框架了吗?注意:这仅适用于一项操作,并非适用于所有操作。
        • 我明白了。出于某种原因,我知道您只是不想与创建视图有任何关系。出于好奇,这个动作与其他动作有何不同?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-28
        • 2012-08-22
        • 1970-01-01
        相关资源
        最近更新 更多