12月13日晚上:父模板和子模板的创建规则

模板继承,那么首先就要有个父模板

由于很多页面有的地方很相似,因此,只需要将相似的地方提取出来,做成父模板,然其他模板继承共享就可以了。而我们只需要编写不同地方的代码即可。

补充:前面我对于{include file="public/footer" /}这样的语句不是太理解。实际上是因为当前这个页面的默认路径是在view下,因此只写public/footer在电脑看来,就是view/public/footer这样的路径。即使当前index.html页面的路径是public/index.html,只要用了{include file="" /}那么默认路径就是在view下

父模板的创建路径就在application/index/view/public下,取名为base.html。这里我发现一个规律,控制器的命名规范都是开头字母大写,比如Base.php,而页面都是小写字母。

由于已经将index.html中的内容都复制到了base.html中来制作模板,所以就像下图这样,用block块进行操作


像这样就基本差不多做好了基础模板。

然后开始在index.html页面中进行继承,并且删除之前的{include file="" /},这是因为基础模板中已经有{include file="" /}了。

开始用{extend name="public/base" /}来继承上面做好的基础模板,千万别忘了。只有继承之后,再用{block name="content"}{/block}这样的标签将对应基础模板的内容括起来。当然,名字是自己在基础模板中自己根据特点命名好的。

这个index.html最后没有js脚本,所以这里就意思一下,给它一个空的block

有几个注意点:

基础模板中,正常只有{include file="" /}标签和{block name=""}{/block}标签

子模板中(只限当前所讲知识中)只能出现{extend name="" /}和{block name=""}{/block}标签

若父模板多出来的{block name=""}{/block}子模板没有套用。那么这个多出来的模块也是可以使用的,并且默认是父模板中的内容。

最后,若想在子模板中引入父模板的内容,那么可以这样{__block__}:

显示效果类似这样:

这个的前提是,父模板这个地方写的内容是:

{block name="seo"}       这里是什么什么内容           {/block}

之后,按照上面的引用方法才管用。

其他的一些细节部分,比如但标签{extend name="" /}不能忘了/,设置html中的某个标签的content=""属性的时候,可以这么写content="$content|default='文章内容'",这种表示就能表示默认值了。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,534评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,958评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 9,262评论 0 11
  • 介绍 Jinja是基于python的模板引擎,功能比较类似于于PHP的smarty,J2ee的Freemarker...
    ZhouLang阅读 12,459评论 0 2
  • 【文章摘要】设计工作中的创意才是设计作品成功与否的关键,如果我们在设计创意上出现了偏离,那所有的努力,也就付之东流...
    用户运营笔记阅读 5,201评论 0 50