利用thinkcmf二次开发,做皮肤页面是个非常大的重要工作。说白了,这个工作就是用thinkcmf的方式套页面。本篇文章中,苏南大叔就简单的先抛砖引玉一下,看看如何新建一个基于thinkcmf的页面。

确定要修改的页面html文件

一般来说,可以通过页面url,就可以确认theme中的html页面。因为正常情况来说,thinkphp的url都基本上都是类似这样的:/<module>/<controller>/<action>。对于一个项目来说:

  • <module>是可能会省略掉的,一个项目有且仅有一个模块的<module>可以省略。一般的时候,面向用户的模块的<module>会设置为默认模式,从而在url中省略掉。
  • <controller>这个,一般来说,不会有什么差异。除非你配置了路由。
  • <action>,如果被省略掉的话,很有可能就是index。一般来说,不会被省略掉。

通过上述的url,在实际的源码中,就可以在<module>文件夹中,找到<controller>文件,然后打开对应的<controller>文件后,就可以找到函数名为<action>的代码段。

下面重点来了:在这个代码段的最后,我们可以找到下面的类似语句。$this->display();或者return $this->fetch()之类的语句。一般都是这个<action>的最后一句话。这里,你就可以确定无疑的找到对应的模板文件了,也就是你需要修改的theme皮肤文件。

苏南大叔:thinkcmf如何理解皮肤模板页面对应关系 - theme_php
thinkcmf如何理解皮肤模板页面对应关系(图5-1)

苏南大叔:thinkcmf如何理解皮肤模板页面对应关系 - theme_folder3
thinkcmf如何理解皮肤模板页面对应关系(图5-2)

下面是thinkphp的官方说明链接:

如果相关参数为空的话,那么一般都是加载默认的view模板,一般来说,就是你的项目theme目录下面的<controller>/<action>.html文件,或者<controller>_<action>.html文件。而thinkcmf下面的默认皮肤只是<controller>.html。具体的表现形式,是与下面的设置有关的。

如果参数不为空的话,那么就看根据系统设置不一样,具体的写法也不一致。您可以查看官方函数说明,不过,一般都很容易直接看出对应要渲染的view文件的。

如果您需要的页面,是个thinkcmf所没有的页面。那么还需要您建立对应的/<module>/<controller>.php文件,在里面再新建<action>方法。不过,这个不在本文的讨论范围内。

结论

在上一篇文章中,苏南大叔讲述了如何新建并识别一个皮肤目录,本文中讲述如何新建皮肤中的一个模板,下一篇文章中,苏南大叔将要讲述,在模板中,如何使用thinkcmf的标签函数。

更多thinkcmf的经验文章,请点击这里查看:https://newsn.net/tag/thinkcmf/

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接作者。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

 【加群】加入QQ群【175454274】和大家一起讨论这个问题

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   php    theme

本站的忠实读者小伙伴,正在阅读下面这些文章: