thinkcmf常用标签
1、图片地址:{:cmf_get_image_url($vo.icon)}
2、模板控件
模板变量调用:$theme_vars.title
<widget name="aboutUs"> {$widget.title} //控件标题
{$widget.vars.subTitle} //控件变量 subTitle
{:nl2br($widget.vars.content)} //输出带格式的textarea变量内容
//输出数组变量,变量名links
<foreach name="$widget.vars.links" item="vo">
<a href="{$vo.url}">> {$vo.title}</a>
</foreach> </widget>
与内置的判断标签配合使用
present标签用于判断某个变量是否已经定义
<present name="name">
name已经赋值
<else />
name还没有赋值
</present>
<notpresent name="name">
name还没有赋值
</notpresent>
empty标签用于判断某个变量是否为空
使用例子:
<empty name="$widget.vars.content">
没有设置
<else>
{$widget.vars.content}
</empty>
更多https://www.kancloud.cn/thinkcmf/doc/266538
3、首页相关标签
标题:{$site_info.site_name|default=''} ,关键词:{$site_info.site_seo_keywords|default=''},描述:{$site_info.site_seo_description|default=''}
模板路劲__TMPL__
静态资源路径:__TMPL__/public/assets/
head前钩子:<hook name="before_head_end"/>
4、导航条模板 <include file="public@nav"/>
公司名称:{$theme_vars.company_name|default='吴硕建站'} 注意:网站标题可能 跟公司名称不同,这里的$theme_vars.company_name 是在导航条模板里设置的,也只有在导航条模板也nav里有作用。
5、幻灯片调用,cmf5可以定义多个幻灯片,然后用模板变量来设置那个位置显示那个幻灯片。
例如:首页 在首页的模板变量里增加一个
然后在首页这样调用
<php> $top_slide_id=empty($theme_vars['top_slide'])?1:$theme_vars['top_slide']; </php> <slides id="$top_slide_id"> <li> <div class="caption-wraper"> <div class="caption">{$vo.title|default=''}</div> </div> <a href="{$vo.url|default=''}"><img src="{:cmf_get_image_url($vo.image)}" alt=""></a> </li> </slides> <noslides id="$top_slide_id"> <li> <div class="caption-wraper"> <div class="caption">此幻灯片只是演示,您没有设置任何幻灯片,请到后台模板设置!</div> </div> <a href=""><img src="__TMPL__/public/assets/images/demo/1.jpg" alt=""></a> </li> <li> <div class="caption-wraper"> <div class="caption">此幻灯片只是演示,您没有设置任何幻灯片,请到后台模板设置!</div> </div> <a href=""><img src="__TMPL__/public/assets/images/demo/2.jpg" alt=""></a> </li> <li> <div class="caption-wraper"> <div class="caption">此幻灯片只是演示,您没有设置任何幻灯片,请到后台模板设置!</div> </div> <a href=""><img src="__TMPL__/public/assets/images/demo/3.jpg" alt=""></a> </li> </noslides>
6、友情链接
<links> <li><a href="{$vo.url|default=''}" target="{$vo.target|default='_blank'}" title="响应式建站平台">{$vo.name|default=''}</a></li> </links>
7、获取当前控制器,模块,方法
thinkphp5 Request对象
$request = Request::instance(); echo "当前模块名称是" . $request->module(); echo "当前控制器名称是" . $request->controller(); echo "当前操作名称是" . $request->action();
cmf5 可以在模板中直接使用$Request
对象,直接输入它的属性或调用它的大部分方法,但只支持方法的第一个参数;
{$Request.module}
{$Request.controller}
{$Request.action}
配合if标签可以选中当前栏目 <if $Request.controller=='Page' && $Request.param.id==7>active</if>
<li class="link <if $Request.controller=='Page' && $Request.param.id==7>active</if>">
<div class="title">
<a class="en" href="about.html">关于</a>
<a class="cn" href="about.html">ABOUT</a>
</div>
</li>
8、获取分类列表
<php>
$subcategories = \app\portal\service\ApiService::categories(['where'=>['parent_id'=>$category['id']]]);
</php>
<volist name="subcategories" id="vo">
<a class="mui-control-item <eq name="$i" value="1">mui-active</eq>" data-index="0" href="#content$i"> {$vo.name} </a>
</volist>