尝试呈现内容时的白页

时间:2018-06-27 15:58:38

标签: php fat-free-framework

我正在尝试使用以下代码来呈现具有动态内容的模板:

function render($content, $template = 'main') {
    $base = Base::instance();
    $base->set('content', "ex1/views/$content.htm");
    return \Template::instance()->render("../templates/$template.htm");
}

路线

/ = thisfolder\ex1\controllers\Controller

控制器

<?php
namespace thisfolder\ex1\controllers;
class Controller extends \Controller {
    function get() {
        render('index');
    }
}

在我的配置中,我将UI设置为UI=app/thisfolder/结构

index.php
| app
    | thisfolder
        | ex1
            | controllers
                controller.php
            | models
            | views
                index.htm
    | templates
        main.htm

在main.htm模板中,我建立了一个基本页面,该页面具有导航栏和页脚,应使用<include href="{{ @content }}" />

呈现所有内容之间被调用的内容。

模板

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Testing</title>
        <link rel="icon" href="img/favicon.ico">
        <!-- CSS/JS FILES -->
        <link rel="stylesheet" type="text/css" href="/assets/css/uikit.min.css">
        <link rel="stylesheet" type="text/css" href="/assets/css/custom.css">
        <script src="/assets/js/uikit.min.js"></script>
        <script src="/assets/js/uikit-icons.min.js"></script>
    </head>
    <body>
        <div class="uk-offcanvas-content">
            <!--HEADER-->

            <header style="background-color: #fff; border-bottom: 1px solid #f2f2f2" data-uk-sticky="show-on-up: true; animation: uk-animation-slide-top">
                <div class="uk-container">
                    <nav id="navbar" data-uk-navbar="mode: click;">
                        <div class="uk-navbar-center">
                            <a class="uk-navbar-item uk-logo" href="#">Testing</a>
                        </div>
                    </nav>
                </div>
            </header>

            <include href="{{ @content }}" />

            <footer class="uk-section uk-section-small" style="margin-bottom: 60px">
                <div class="uk-container">
                    <p class="uk-text-small uk-text-center">Built with <a href="http://getuikit.com" title="Visit the UIkit 3 site" target="_blank" data-uk-tooltip><span data-uk-icon="uikit"></span></a> & <a href="https://fatfreeframework.com" title="Visit the F3 Site" target="_blank" data-uk-tooltip>F3</a> </p>
                </div>
            </footer>
            <!--/FOOTER-->
            <!-- BOTTOM BAR -->
            <div class="uk-section uk-section-xsmall uk-section-default uk-position-bottom uk-position-fixed" style="border-top: 1px solid #f2f2f2">
                <div class="uk-container uk-container-small uk-text-small">
                    <div class="uk-grid" data-uk-grid>
                        <div class="uk-width-expand">
                            <a href="#" class="uk-link-reset">
                                <span data-uk-icon="icon: arrow-right"></span>
                                <span class="uk-visible@s">Testing | <small>Page Rendered in {{ @loadtime }} seconds.</small></span>
                            </a>
                        </div>
                    </div>
                </div>
            </div>
            <!-- /BOTTOM BAR -->
        </div>
    </body>
</html>

问题是,当我尝试使用浏览器加载页面时,我得到了一个完全空白的页面。模板不会加载,内容也不会加载。

但是,如果我将内容的名称更改为除“ index”以外的任何名称,则模板会正常加载,但内容呈现错误:

  

无法打开ex1 / views / indexd.htm

因此,据我所知,该路径是正确的,只有当我将$content指向我的视图文件夹中不存在的文件时,它才能“起作用”。 >

为什么我的页面无法正确显示,我该如何解决?

0 个答案:

没有答案