# 制作模板時經常用到的方法說明
## 1,CMF美化URL cmf_url();
在模板中這樣使用:
欄目列表:
`<a href="{:cmf_url('portal/List/index', ['id' =>57])}" target="_blank">查看更多</a>
`
文章詳情:
`<a href="{:url('portal/Article/index',array('id'=>$vo.id,'cid'=>$vo.category_id))}">`
## 2,獲取圖片地址
在模板中這樣使用:
`<img src="{:cmf_get_image_url($vo.more.thumbnail)}">
`
或者使用管道符:
`<img src="{$vo.image|cmf_get_image_url}">`
圖片不存在時候,給個默認圖片
<a href="{:url('portal/Article/index',array('id'=>$vo.id,'cid'=>$vo.category_id))}">
<empty name="vo.more.thumbnail">
<img src="__TMPL__/public/assets/images/default-thumbnail.png">
<else/>
<img src="{:cmf_get_image_url($vo.more.thumbnail)}">
</empty>
<h4><span>{$vo.post_title}</span></h4>
</a>
## 3,模板中格式化時間
```
{$vo.published_time|date='Y-m-d'}
```
## 4,模板中使用自定義PHP函數
模板自定義函數位置:
> \themes\模板名稱\public\function.html
```
<php>
/*可以加多個方法喲!*/
if (!function_exists('_sp_helloworld')) {
function _sp_helloworld(){
echo "hello ThinkCMF!";
}
}
</php>
```
在模板中這樣調用函數:
```
{:_sp_helloworld()}
或者這樣:
<php>
_sp_helloworld()
</php>
```
## 文章標簽及選項說明
```
<portal:articles item="vo" where="$where" order="post.create_time DESC" page="$page"
categoryIds="$category.id"
returnVarName="articles_data"
relation="categories,user'">
.. HTML ..
</portal:articles>
```
#### where | 查詢條件變量, 支持數組和字符串,如$where
#### limit | 最多查出文章數,如果分頁開啟,此設置無效
#### order | 文章排序方式 page|分頁參數,如果設置分頁參數會自動分頁
#### relation | 關聯查詢,支持categories和user,多個以英文逗號分隔
**[ relation目前只能獲取分類和用戶(文章屬于哪個分類哪個作者) ]**
#### pageVarName | 分頁后生成的分頁變量名,只有設置分頁參數時才有效
#### categoryIds | 分類 id,支持數組和字符串(英文逗號分開)
*****
## 獲取指定欄目下的子欄目(二級分類)
<php>$categoryId=1;</php>
<portal:subCategories categoryId="$categoryId" item="vo">
{$vo.name}<br>
{$vo.description}<br>
</portal:subCategories>
## 獲取所有分類(二、三級分類)
<php>$categoryId=1;</php>
<portal:allSubCategories categoryId="$categoryId" item="vo">
<a href="{:cmf_url('portal/List/index',array('id'=>$vo['id']))}">{$vo.name}</a><br>
{$vo.description}<br>
</portal:allSubCategories>
## 獲取指定的子導航
<php>
$parent_nav_menu_id=6;
</php>
<subNavigation parent="$parent_nav_menu_id" root="ul" id="main-navigation" class="nav navbar-nav navbar-nav-custom">
<subNavigationMenu root="li" class="menu-item">
<a href="{$menu.href|default=''}" target="{$menu.target|default=''}">{$menu.name|default=''}</a>
</subNavigationMenu>
<subNavigationFolder root="li" class="dropdown dropdown-custom" dropdown="ul" dropdown-class="dropdown-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
{$menu.name|default=''}<span class="caret"></span>
</a>
</subNavigationFolder>
</subNavigation>
## 獲取所有的導航
<!--后臺導航 id 為1-->
<navigation nav-id="1" root="ul" id="main-navigation" class="nav navbar-nav navbar-nav-custom">
<navigationMenu root="li" class="menu-item menu-item-level-{$level}">
<a href="{$menu.href|default=''}" target="{$menu.target|default=''}">{$menu.name|default=''}</a>
</navigationMenu>
<navigationFolder root="li" class="dropdown dropdown-custom dropdown-custom-level-{$level}" dropdown="ul"
dropdown-class="dropdown-menu dropdown-menu-level-{$level}">
<a href="#" class="dropdown-toggle dropdown-toggle-{$level}" data-toggle="dropdown">
{$menu.name|default=''}<span class="caret"></span>
</a>
</navigationFolder>
</navigation>
## 文章搜索表單
<form method="post" action="{:cmf_url('portal/Search/index')}">
<input type="text" class="sous_k_f_text" name="keyword" placeholder="請輸入關鍵詞進行搜索" value="{:input('param.keyword','')}">
<button type="submit" class="sous_k_f_btn" value=""></button>
</form>
## 調用配置文件變量QQ示例
```
<a href="http://wpa.qq.com/msgrd?v=3&uin={$theme_vars.last_qq}&site=qq&menu=yes" title="立即咨詢">立即咨詢</a>
```
## 友情鏈接
<links>
<a href="{$vo.url|default=''}" target="{$vo.target|default=''}">{$vo.name|default=''}</a>
</links>
## 導航代碼(bootstrap)
<!--導航S-->
<section class="daohl">
<nav class="daoh navbar navbar-default navbar-mobile bootsnav" role="navigation">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-menu">
<i class="glyphicon glyphicon-th-list"></i>
</button>
<a class="navbar-brand" href="__ROOT__"><img class="sg_logo" src="{$theme_vars.logo|cmf_get_image_url}" alt=""></a>
</div>
<div class="collapse navbar-collapse" id="navbar-menu">
<navigation nav-id="1" id="menu" root="ul" class="nav navbar-nav">
<navigationMenu root="li" class='active{$level}'>
<a href="{$menu.href|default=''}" target="{$menu.target|default=''}">{$menu.name|default=''}</a>
</navigationMenu>
<navigationFolder root="li" class="dropdown" dropdown="ul"
dropdown-class="dropdown-menu">
<a href="{$menu.href|default=''}"data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="true">
{$menu.name|default=''}<span class="caret"></span>
</a>
</navigationFolder>
</navigation>
</div>
</div>
</nav>
</section>
<!--導航E-->
## 幻燈片代碼 (swiper插件)
<!--幻燈片S-->
<div class="swiper-container swiper-container1">
<php>
$top_slide_id=empty($theme_vars['top_slide'])?1:$theme_vars['top_slide'];
</php>
<div class="swiper-wrapper">
<slides id="$top_slide_id">
<div class="swiper-slide" style="background-image: url({$vo.image|cmf_get_image_url});"><a href="{$vo.url|default=''}"></a></div>
</slides>
</div>
<div class="swiper-pagination"></div>
<div class="swiper-button-next"></div>
<div class="swiper-button-prev"></div>
</div>
<!--幻燈片E-->
## 底部導航欄(根據導航ID來自定義導航菜單)
<navigation nav-id="1" root="ul" class="clearfix" max-level="0">
<navigationMenu root="li">
<a href="{$menu.href|default=''}" target="{$menu.target|default=''}">{$menu.name|default=''}</a>
</navigationMenu>
</navigation>
## 判斷會員是否登錄
<php>$user=cmf_get_current_user(); </php>
<if condition="empty($user['id'])">
<div class="daohl_hy">
<a href="{:cmf_url('user/Login/index')}">會員登錄</a>
</div>
<else/>
<div class="daohl_hy">
您好,<a href="{:cmf_url('user/Profile/center')}" title="進入會員中心">{$user.user_login?$user.user_login:($user.mobile?$user.mobile:$user.user_email)}</a>
<a href="{:cmf_url('user/Index/logout')}" title="退出登錄"><i class="fa fa-sign-out"></i> 退出</a>
</div>
</if>
## 反饋信息表單(先安裝留言的插件,某些頁面上用不上的字段用hidden)
<form action="{:cmf_plugin_url('Msg://Do/addmsg');}" method="post" name="myform" class="clearfix" novalidate="novalidate">
<input type="text" name="name" placeholder="請輸入您的姓名">
<input type="text" name="phone" placeholder="請輸入您的電話">
<input type="text" name="email" placeholder="請輸入您的郵箱">
<input type="hidden" name="msg" value="反饋信息">
<button type="submit" name="submit">立即預約</button>
</form>