脚本宝典收集整理的这篇文章主要介绍了php – 锂的部分内容,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
<?PHP $this->_render('element','form); ?>@H_404_2@这确实有效,但它要求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 ); } }@H_404_2@但是它仍然只在/ view / elements文件夹中搜索,而不是在我指定的路径中搜索.
有什么我做错了吗?
我不知道Zend,但这里有一个例子来配置元素默认路径,从相关的视图文件夹而不是共享路径加载它们.
让我们再添加一件事:我们希望通过在文件名后附加非下划线来区分元素/部分与普通视图(模仿Rails部分)
首先,在引导过程中重新配置Media(config / bootstrap / media.PHP)
Media::type('default',null,array( 'view' => 'lithium\template\View','paths' => array( 'layout' => '{:library}/views/layouts/{:layout}.{:type}.PHP','template' => '{:library}/views/{:controller}/{:template}.{:type}.PHP','element' => array( '{:library}/views/{:controller}/_{:template}.{:type}.PHP','{:library}/views/elements/{:template}.{:type}.PHP' ) ) ));@H_404_2@然后,使用它
<?= $this->_render('element','foo',array('controller' => 'Documents')); ?>@H_404_2@这将在views / documents / _foo.html.PHP中查找文件,如果不存在,则回退到/views/elements/foo.html.PHP
这种简单的框架默认重新配置,可以在Lithium中完成一堆东西(创建命名空间的默认控制器路径,视图路径,库等……)
还有一个示例是重新映射模板路径,以便您可以使用pages / users_ {username} .PHP而不是Lithium默认值:
https://gist.github.com/1854561
以上是脚本宝典为你收集整理的php – 锂的部分内容全部内容,希望文章能够帮你解决php – 锂的部分内容所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。