选择是否将模板库添加到现有Codeigniter应用程序

时间:2012-04-02 21:13:11

标签: php codeigniter templates template-engine

所以我已经在我的应用程序的开发中达到了某个点,其中有这个文件夹结构:

views/
     includes/{header.php, template.php, footer.php}
     home.php
     xyz.php
     ... 

以这种方式加载视图

Controller.php这样

    $data['lists'] = $lists;
    $data['view'] = 'home';
    $this->load->view('includes/template', $data);

的template.php

<?php
    $this->lang->load('common');
    if($view == 'videoPage') 
    {
        $header['title']       = $data['title'].' - XYZ.com ';
        $header['description'] = $data['description'];
        $header['keywords']    = implode(', ',$data['tags']);
        $header['canonical']   = $data['canonical'];
        $this->load->view('includes/header', $header);
    }
    elseif (($view == "searchsPage") || ($view == 'tagsPage'))
    {
        $header['title'] = $query.' - XYZ.com ';
        $this->load->view('includes/header', $header);
    }
    else
    {
        $this->load->view('includes/header');
    }
?>
    <div role="container">
        <?php
            if ( ! empty($data))
            {
                $this->load->view($view, $data);
                if(($view == 'searchsPage') OR ($view == 'tagsPage')):
                ?>

                ...SPECIFIC CODE HERE...

                <?php endif;
            }
            else
            {
                $this->load->view($view);
            }
        ?>
    </div>
<?php $this->load->view('includes/footer'); ?>

以及更多......

开始变得有点混乱,所以我想知道是否值得从http://getsparks.org/search(搜索“模板”)实现现有的模板库,或者只是对我使用的那个做一些改进?还有其他想法吗?

2 个答案:

答案 0 :(得分:3)

我也开始自己实现库,但过了一段时间它变得凌乱,然后改为现有库。具体来说,我使用了Phil Sturgeon的图书馆,这是一个很好的图书馆。库http://getsparks.org/packages/template/versions/HEAD/show的链接。 希望这会有所帮助。

答案 1 :(得分:1)

制作自己的模板库并保持代码干净。你不需要每次都包含页脚和标题。您还可以查看已编写的模板模型。

此处列出了一些Codeigniter template libraries