加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 锂的部分内容

发布时间:2020-12-13 22:38:54 所属栏目:PHP教程 来源:网络整理
导读:通常我使用Zend Framework,这是我在Lithium中遗漏的东西.谐音.在视图中有一个渲染方法,你可以使用最接近的’elements’. ?php $this-_render('element','form); ? 这确实有效,但它要求form.html.php文件位于/ views / elements文件夹中.是否可以让它在另一条
通常我使用Zend Framework,这是我在Lithium中遗漏的东西.谐音.在视图中有一个渲染方法,你可以使用最接近的’elements’.
<?php $this->_render('element','form); ?>

这确实有效,但它要求form.html.php文件位于/ views / elements文件夹中.是否可以让它在另一条路径中搜索?喜欢/ views / users /所以它获取文件/views/users/form.html.php.

我尝试了以下内容,因为我发现render method确实接受了一个选项参数,您可以在其中指定路径.所以我帮助我解决了这个问题.

namespace appextensionshelper;
use lithiumtemplateTemplateException;

class Partial extends lithiumtemplateHelper
{
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文件夹中搜索,而不是在我指定的路径中搜索.

有什么我做错了吗?

为什么使用插件,希望这些东西可以由Lithium完成:-)

我不知道Zend,但这里有一个例子来配置元素默认路径,从相关的视图文件夹而不是共享路径加载它们.

让我们再添加一件事:我们希望通过在文件名后附加非下划线来区分元素/部分与普通视图(模仿Rails部分)

首先,在引导过程中重新配置Media(config / bootstrap / media.php)

Media::type('default',null,array(
    'view' => 'lithiumtemplateView','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'
        )
    )
));

然后,使用它

假设一个控制器文件.呼吁观点:

<?= $this->_render('element','foo',array('controller' => 'documents')); ?>

这将在views / documents / _foo.html.php中查找文件,如果不存在,则回退到/views/elements/foo.html.php

这种简单的框架默认重新配置,可以在Lithium中完成一堆东西(创建命名空间的默认控制器路径,视图路径,库等……)

还有一个示例是重新映射模板路径,以便您可以使用pages / users_ {username} .php而不是Lithium默认值:
https://gist.github.com/1854561

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读