我在模块XYZ的action类中使用以下代码:
$这 - > setTemplate( "abc.php");
在哪个目录中,它试图找到abc.php?
相应的路径是与编辑文件templates的actions目录并行的目录actions.class.php.
在文件中/path/to/my/module/actions/actions.class.php,如果您这样做:
$this->setTemplate("index");
相应的模板文件位于:
/path/to/my/module/templates/indexSuccess.php
这当然是假设成功完成了行动; 失败时,处理方式不同,取决于您的实施.
另外值得注意的是:
如果未使用手动设置模板$this->setTemplate($foo),则模板名称将按约定确定.对于动作功能executeHomepage(sfWebRequest $request),模板homepageSuccess.php将按惯例显示(同样,除非您另行指定setTemplate).
见http://www.symfony-project.org/gentle-introduction/1_4/en/06-Inside-the-Controller-Layer#chapter_06_sub_action_termination.此文档页面包含可能的模板名称的完整列表.
要清楚.呼叫
$this->setTemplate("abc");
Run Code Online (Sandbox Code Playgroud)
module/templates/abcSuccess.php如果coressponding action方法返回sfView::SUCCESS或没有返回,将强制Symfony呈现模板.
module/templates/abcError.php如果您的行动将返回,将会呈现sfView::ERROR.
此外,如果您的操作终止,return 'SomeString';那么module/templates/abcSomeString.php将被渲染.
| 归档时间: |
|
| 查看次数: |
1668 次 |
| 最近记录: |