我想将html代码与我的laravel模板(* .blade.php)文件分开。我在dashboard.blade.php模板中有以下代码:
<h1>Dashboard</h1>
<p>Welcome to your Dashboard. You rock!</p>
<div class="bubbletree-wrapper">
<div class="bubbletree"></div>
</div>
我想从这里分离这个html代码,并希望将其移动到另一个文件,扩展名为* .html或* .tpl或除* .php之外的任何其他文件。
有可能这样做吗?请帮帮我。
感谢。
答案 0 :(得分:0)
我没有看到任何人100%解耦HTML / CSS,但你可以遵循一些设计模式,比如Presenter,并使用Laravel Blade,因此它很少耦合。
为视图命名home.blade.php
并将代码添加到其中并将代码更改为:
<h1>{{$pageTitle}}</h1>
<p>{{$welcomeMessage}}</p>
<div class="bubbletree-wrapper">
<div class="bubbletree"></div>
</div>
使用以下方式创建路线:
<?php
Route::get('/', function() {
return View::make('home',
array(
'$pageTitle' => 'Dashboard',
'welcomeMessage' => 'Welcome to your Dashboard. You rock!'
)
);
});
请参阅?它几乎100%解耦,但您不能100%解耦,否则您将无法在最终HTML中显示动态数据。
此外,Blade可以帮助您整理代码,因此您可以设置一个布局,让我们称之为layout.blade.php
:
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<title> Your Application </title>
<link rel="stylesheet" type="text/css" media="screen" href="css/bootstrap.min.css">
</head>
<body class="">
@yield('contentSection')
</body>
</html>
你只有一行Blade,只是为了添加你的页面内容,现在你可以创建你的家庭视图:
@extends('layout')
@section('contentSection')
<h1>{{$pageTitle}}</h1>
<p>{{$welcomeMessage}}</p>
<div class="bubbletree-wrapper">
<div class="bubbletree"></div>
</div>
@stop
Blade会为您呈现此HTML:
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<title> Your Application </title>
<link rel="stylesheet" type="text/css" media="screen" href="css/bootstrap.min.css">
</head>
<body class="">
<h1>Dashboard</h1>
<p>Welcome to your Dashboard. You rock!</p>
<div class="bubbletree-wrapper">
<div class="bubbletree"></div>
</div>
</body>
</html>