0

我正在尝试使用 Flight php 框架构建一个小型网站。目标是使用各种视图建立一个清晰的框架。

直到此时一切正常,我设法构建了一个不错的 framework.php 和一个内容、菜单和标题视图

Flight::render('header', array('heading'=> $page_title), header_content');
Flight::render('menu', array('type'=> 'main menu'), mainmenu_content');
Flight::render('body',   array(), 'body_content');

Flight::render('layout', array('title' => 'Home Page'));

内容由多个部分(文章)组成,它们都具有相同的布局,现在我想再次使用 Flight 视图来生成这些部分。使用以下代码,我可以在部分上创建并将其传递给“正文”

Flight::render('section',   array('id' => $id), 'section_content');

将多个部分添加到一页的最佳解决方案是什么?

我试图在 index.php 中获取 $section_content 的值,作为变量并使用 Flight::get('section_content')。两者都没有成功。运行两次 Flight::render 将覆盖 $section_content 的值(如预期的那样)。还尝试对 $section_content 使用数组,但也没有成功。

当然,我可以找到许多解决方案,但在确定我想要的中继是不可能的之前,我不会使用它们。

4

1 回答 1

0

虽然您必须定义所有部分,但您最后定义布局渲染。像这样;

<?php
Flight::route('/', function(){
    //header.php value is $contHeader varriable
    Flight::render('header', array(
        'title' => 'Test title'
    ), 'contHeader');
    //modals.php value is $contModals varriable
    Flight::render('modals', array(), 'contModals');
    //body.end.php value is $contBodyEnd varriable
    Flight::render('body.end', array(), 'contBodyEnd');
    //nav.menu.php value is $contNavMenu varriable
    Flight::render('nav.menu', array(), 'contNavMenu');
    //You must all varriable define in "layout.homepage.php", you can write it with echo statement
    Flight::render('layout.homepage'); //you forget this one
});
?>
于 2015-09-21T11:04:40.833 回答