gpt4 book ai didi

php - Laravel 4 - 在一个 View 中包含一个 "partial" View (不使用 Blade 模板)

转载 作者:IT王子 更新时间:2023-10-29 00:07:20 27 4
gpt4 key购买 nike

在 Laravel 3 中,我曾经这样做过。

<?php render('partials.header'); ?>

这是在“PHP” View 中完成的,没有使用 Laravel 的 Blade 模板。

这在版本 4 中的等效项是什么?

我试过了

<?php @include('partials.header'); ?>

这行不通。

如果我这样做

@include('partials.header')

我必须将我的文件保存为“.blade.php”

如何在不使用 Blade 模板的情况下包含“ subview ”?

最佳答案

在 Laravel 4 中有不同的方法可以在一个 View 中包含一个 View 。您的选择将取决于下面列出的任何一种结果......

为了灵 active

您可以在适当的 Controller 中编译(呈现)部分 View ,并使用$data[''] 数组将这些 View 传递给主视图。

随着 View 数量的增加,这可能会变得乏味,但是嘿,至少有很大的灵 active :)

例子见下面的代码:

Controller

...

public function showMyView()
{
/* Header partial view */
$data['header'] = View::make('partials.header');

/* Flexible enough for any kind of partial views you require (e.g. a Header Menu partial view) */
$data['header_menu'] = View::make('partials.header_menu');

/* Footer partial view */
$data['footer'] = View::make('partials.footer');

return View::make('myView', $data);
}

...

查看

您可以按如下方式包含上面的部分(在您的 View 代码中的任何位置):

<html>  
<head></head>
<body>

<!-- include partial views -->
<?php echo ($header) ?>
<?php echo ($header_menu) ?>

<div id="main-content-area"></div>

<?php echo ($footer) ?>

</body>
</html>

您的部分 View 现在将添加到您的主视图中。


为了简单

实际上有一种比使用上述方法更简单的方法:只需将其包含在 View 的 html 中...

查看

<html>  
<head></head>
<body>

<!-- include partial view: header -->
<?php echo View::make('partials.header') ?>

<div id="main-content-area">
</div>

<!-- include partial view: footer -->
<?php echo View::make('partials.footer') ?>

</body>
</html>

确保部分文件的文件夹结构是[views/partials/header.php],以便为 Laravel 的 View::make() 函数提供正确的文件路径。

警告

如果您尝试在 Controller 中传递 $data['page_title']嵌套 View 将不会接收数据。
要将数据传递给这些嵌套 View ,您需要这样做:

<html>  
<head></head>
<body>

<?php
/* Pass page title to header partial view */
$data ['page_title'] = "My awesome website";
echo View::make('partials.header', $data);
?>

<div id="main-content-area"></div>

<?php echo View::make('partials.footer') ?>

</body>
</html>

注意

问题明确指出:“不使用 Blade 模板”,因此我确保提供不包含任何 Blade 模板代码的解决方案。

祝你好运:)

关于php - Laravel 4 - 在一个 View 中包含一个 "partial" View (不使用 Blade 模板),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17227969/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com