【发布时间】:2016-01-04 02:00:53
【问题描述】:
我面临的问题是我不确定如何在没有框架或模板引擎的情况下进行开发。我以这种方式开始编码,现在我想学习基础知识。
我曾经使用这个 MVC 架构,使用 Codeigniter 和 Smarty 作为模板引擎。我现在要做的是使用原始 php 而不提到这两种工具。
我不知道如何“复制”Smarty的“块”和“扩展”的概念。
我以前定义了一个 base.tpl 文件,它有 html 头,只有 body 标记,以及基本的 css 和 js 文件(总是在网站的每个页面中使用的文件),如下所示:(sn- p)
<!DOCTYPE html>
<head>
<meta charset="utf-8" />
<title>Dashboard</title>
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport" />
<meta content="" name="description" />
<meta content="" name="author" />
<!-- ================== BEGIN BASE CSS STYLE ================== -->
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
<link href="{site_url()}assets/css/animate.min.css" rel="stylesheet" />
<!-- ================== END BASE CSS STYLE ================== -->
<!-- ================== BEGIN PAGE LEVEL CSS STYLE ================== -->
{block name='custom_css'}{/block}
<!-- ================== END PAGE LEVEL CSS STYLE ================== -->
<!-- ================== BEGIN BASE JS ================== -->
<script src="{site_url()}assets/plugins/pace/pace.min.js"></script>
<!-- ================== END BASE JS ================== -->
</head>
<body>
<div id="page-container" class="fade page-sidebar-fixed page-header-fixed">
<div id="header" class="header navbar navbar-default navbar-fixed-top">
<div class="container-fluid">
{include file='base/header.tpl'}
</div>
</div>
<!-- BEGIN PAGE -->
<div class="page-content">
<!-- BEGIN PAGE CONTAINER-->
<div class="container-fluid">
<!-- BEGIN PAGE HEADER-->
<div class="row-fluid">
<div class="span12">
<!-- BEGIN PAGE TITLE & BREADCRUMB-->
{include file='admin/base/breadcrumb.tpl'}
<!-- END PAGE TITLE & BREADCRUMB-->
</div>
</div>
<!-- END PAGE HEADER-->
{block name='content'}{/block}
</div>
<!-- END PAGE CONTAINER-->
</div>
<!-- END PAGE -->
然后当我需要调用这个 base.tpl 时,我这样做了:
{extends file='base/base.tpl'}
{block name='custom_css}
<link href="{site_url()}assets/css/pages/blog.css" rel="stylesheet" type="text/css"/>
{/block}
{block name='content'}
<div class="row">
<div class="col-md-3 col-sm-6">
<div class="widget widget-stats bg-green">
<div class="stats-icon stats-icon-lg"><i class="fa fa-globe fa-fw"></i></div>
<div class="stats-title">TODAY'S VISITS</div>
<div class="stats-number">7,842,900</div>
<div class="stats-progress progress">
<div class="progress-bar" style="width: 70.1%;"></div>
</div>
<div class="stats-desc">Better than last week (70.1%)</div>
</div>
</div>
我一直在搜索,但我担心我找不到正确的搜索词,因为我找不到答案。
我希望得到指导!
【问题讨论】:
-
这只是一些 if this echo that 包裹
-
对不起,我没有关注你
-
以上所有内容(取第一个块)是根据
name='custom_css'标准确定在页面上回显的内容,因此它不超过if($name=='custom_css'){echo 'some css here';} -
@Limon 如何对您得到的所有答案提供一些反馈。已经一个月了。你尝试了什么?
标签: php html include smarty extends