我已经开始在一个项目中使用laravel 3并且在昨晚决定改为laravel 4,因为我现在研究的大部分项目似乎都参考了laravel 4,这对我来说似乎是前进的方向。然而,基础知识中3和4之间的差异令我感到沮丧,因为我无法找到一个好的参考站点,并且在升级中需要更改的内容。 (我会继续搜索)
无论如何......我的问题。我已将所有控制器和视图复制到laravel 4站点。我可以通过控制器通过路径显示hello页面和我自己的基本html页面。但是我无法使用模板进行渲染。
我自己测试了模板,可以让它渲染。我需要删除一些辅助函数,如to_asset(),但现在只需使用简单的标记。这是:
views/_layouts/master.blade.php
在此我为我的内容创建了“占位符”:
@yield('additionalCss')
@yield('shortcuts')
@yield('content')
并且在模板的底部我有: @yield( 'additionalScripts')
我使用此模板创建了另一个视图...
views/articles/index.blade.php
@extends('_layouts.master')
@section('additionalCss')
<link rel="stylesheet" href="/css/sangoma-green.css"/>
@stop
@section('shortcuts')
<a class="span2 data-block widget-block" href="/articles/create">
<section>
<span class="icon-address-book-alt"></span>
<strong>Add Article</strong>
</section>
</a>
<a class="span2 data-block widget-block" href="#">
<section>
<span class="icon-flag-alt"></span>
<strong>Reports</strong>
</section>
</a>
@stop
@section('content')
<div class="row">
<!-- Data block -->
<article class="span12 dark data-block">
<header>
...additional stuff here (removed for post)...
</header>
<section>
<table class="datatable table table-striped table-bordered table-hover" id="article_table">
... removed content for brevity ...
</table>
</section>
</article>
</div>
@stop
@section('additionalScripts')
<!-- jQuery DataTable -->
<script type="text/javascript" src="/js/plugins/dataTables/jquery.datatables.min.js"> </script>
@stop
当我尝试渲染此视图时,我得到的是以下主浏览器:
<head>
This strangely contains the script markup that's placed at the foot of the page
</head>
<body></body> which is empty
就像视图没有引用主模板一样。
这些观点在Laravel 3中正常运行,我已将刀片标记(我认为)更改为laravel 4.有人可以指出我的方式错误。
谢谢
答案 0 :(得分:1)
解决。
经过一番头痛之后 - 错误发生在剧本中的流氓laravel 3 url助手。
通过搜索{{并跟踪它
的所有实例找到立即工作