Белая страница при попытке визуализации контента - PullRequest
0 голосов
/ 27 июня 2018

Я пытаюсь отобразить шаблон с динамическим содержимым, используя этот код:

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=app/thisfolder/. Stucture

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

В моем шаблоне main.htm у меня настроена базовая страница с навигационной панелью и нижним колонтитулом, которые должны отображать вызываемый контент между всеми, используя <include href="{{ @content }}" />

Template :

<!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 на файл, который не существует в моей папке представлений .

Почему мои страницы не отображаются должным образом, и как я могу это исправить?

...