1

./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です。これを行う方法?ありがとうございました。

4

2 に答える 2

1

ストレートコントローラーを使用してリクエストを処理しているため、システムは何をどのようにレンダリングするかを認識していません。CMSを使用してレンダリングする場合、Pageこれは通常、自動的に処理されます。

したがって、何をどのようにレンダリングするかを指示する必要があります。最も単純な形式では、これは次のようになります。

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

これにより、テンプレートを使用FileManager_Controllerしてクラスがレンダリングされます。FileManager.ss

于 2012-11-15T05:29:02.963 に答える
1

'upload'はSilverStripeのアクションです-FileManager_upload.ssファイルを作成してみましたか?

于 2012-11-14T10:48:38.493 に答える