通常我使用Zend Framework,这是我在Lithium中遗漏的东西.谐音.在视图中有一个渲染方法,你可以使用最接近的’elements’.
@H_301_14@<?PHP $this->_render('element','form); ?>
这确实有效,但它要求form.html.PHP文件位于/ views / elements文件夹中.是否可以让它在另一条路径中搜索?喜欢/ views / users /所以它获取文件/views/users/form.html.PHP.
我尝试了以下内容,因为我发现render method确实接受了一个选项参数,您可以在其中指定路径.所以我帮助我解决了这个问题.
namespace app\extensions\helper; use lithium\template\TemplateException; class Partial extends \lithium\template\Helper { public function render($name,$folder = 'elements',$data = array()) { $path = LITHIUM_APP_PATH . '/views/' . $folder; $options['paths']['element'] = '{:library}/views/' . $folder . '/{:template}.{:type}.PHP'; return $this->_context->view()->render( array('element' => $name),$data,$options ); } }
但是它仍然只在/ view / elements文件夹中搜索,而不是在我指定的路径中搜索.
有什么我做错了吗?