【问题标题】:Best way to include view within view in Codeigniter template using Dwoo?使用 Dwoo 在 Codeigniter 模板中包含视图的最佳方法?
【发布时间】:2010-07-12 01:00:12
【问题描述】:

我正在使用 Codeigniter 1.7.2 和 Phil Sturgeon 出色的 Dwoo 包装器,它允许我在 Codeigniter 中使用 Dwoo 模板库 - http://philsturgeon.co.uk/code/codeigniter-dwoo

我有一个关于在我的模板文件中包含其他视图模板文件的小问题。例如,我有一个 dashboard.php 文件,我想包含页眉和页脚,最好的方法是什么?

我通常会这样做:

<?php
$this->load->view('header');
?>

这似乎可行,但使用模板库的全部意义在于将代码与我的 html 分开。我可以使用 Dwoo 的包含功能吗?如果可以,如何使用?

更新
自从发布这篇文章以来,我已经弄清楚了 Dwoo 的来龙去脉,您可以包含视图文件并使用模板继承之类的东西来完成同样的事情,这比将视图分配给变量更简洁。除非你真的需要,否则我不推荐后者。

【问题讨论】:

    标签: php codeigniter smarty template-engine dwoo


    【解决方案1】:

    我不了解 Dwoo,但您应该能够将解析器的输出分配给一个变量并将其传递给您的视图:

    $data_array['header'] = $this->parser->parse('header', $header_data, TRUE);
    

    如果您不需要解析页眉/页脚,只需将视图输出分配给一个变量并将其传递给您的模板。语法基本相同:

    $data_array['header'] = $this->load->view('header', '', TRUE);
    

    参考:http://codeigniter.com/user_guide/libraries/parser.htmlhttp://codeigniter.com/user_guide/general/views.html

    然后,从外观上看(阅读 Dwoo 的 wiki 使用情况),您只需将 {$header} 添加到您希望标题出现的模板中。

    【讨论】:

    • 完美。不敢相信这个想法从来没有出现在我的脑海中。谢谢。
    猜你喜欢
    • 2013-02-19
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-18
    相关资源
    最近更新 更多