【问题标题】:How Silverstripe custom controller and view (template) works?Silverstripe 自定义控制器和视图(模板)如何工作?
【发布时间】:2012-11-14 08:45:18
【问题描述】:

我使用以下代码创建了控制器./mysite/code/FileManager.php...

class FileManager_Controller extends Controller
{
    public function upload()
    {
        echo 'It works!!';
    }
}

当我输入 http://example.com/filemanager/upload 时,这工作正常。

我创建了模板文件themes/simple/templates/FileManager.ss。我想在此处编写要上传的 HTML,它应该会在我输入 http://example.com/filemanager/upload 时反映出来。这个怎么做?谢谢。

【问题讨论】:

    标签: php url-routing silverstripe


    【解决方案1】:

    因为您使用的是直接控制器来处理请求,所以系统不知道您要呈现什么或如何呈现。在使用 CMS 并呈现 Page 时,这通常会为您处理好。

    所以你必须告诉它要渲染什么以及如何渲染。在最简单的形式中,这看起来像:

    class FileManager_Controller extends Controller
    {
        public function upload()
        {
            return $this->renderWith('FileManager');
        }
    }
    

    这将使用FileManager.ss 模板呈现您的FileManager_Controller 类。

    【讨论】:

      【解决方案2】:

      “上传”是 SilverStripe 中的一个操作 - 您是否尝试过创建 FileManager_upload.ss 文件?

      【讨论】:

        猜你喜欢
        • 2012-04-19
        • 1970-01-01
        • 2013-02-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-22
        • 1970-01-01
        • 1970-01-01
        • 2021-05-24
        相关资源
        最近更新 更多