模板目录:\template\pc\default\home
模块模板目录:\template\pc\default\home\news
会员模板目录:\template\pc\default\member
移动端目录只需要将上面的pc改为mobile即可
后台模板路径:
diy/dayrui/templates/admin
前端模板文件路径 css js images
/statics 在此栏目下单独建立 css js images 文件夹
数据库配置文件:
config/database.php
分站后台图标不显示解决:
https://www.xunruicms.com/v3doc/2643.html
多语言编辑器不显示
补全语言文件:/api/ueditor/lang/zh-hk/zh-hk.js
恢复已删除的模块:
diy/app/book
后台搜索样式隐藏:
diy/dayrui/templates/admin/index.html
分页设置:
https://www.xunruicms.com/doc/571.html
网站tdk
<title>{$meta_title}</title>
<meta content="{$meta_keywords}" name="keywords" />
<meta content="{$meta_description}" name="description" />
//可以自动判断站点风格
css调用:{HOME_THEME_PATH}css/
//指定风格目录
css调用:{THEME_PATH}cn/css/
js调用:{THEME_PATH}cn/js/
img调用:{THEME_PATH}cn/images/
网站seo标题:{$meta_title}
网站seo关键词:{$meta_keywords}
网站seo描述:{$meta_keywords}
自定义内容调用:{dr_get_file(dr_block('logo'))}
调用头部:{template "header.html"}
{template "header.html", "/"}
调用底部:{template "footer.html"}
{template "footer.html", "/"}
调用内页左侧:{template "left.html"}
{template "left.html", "/"}
首页链接
{SITE_URL}
终端域名:
{CLIENT_URL}
logo
{SITE_LOGO}
网站名称
{SITE_NAME}
实体化转化
{html_entity_decode(dr_block('tongji'))}
一级栏目状态:
{if $t.lmzt=='zuixin'}<i style="display:block;"></i>{/if}
首页高亮
{if $indexc}active{/if}
判断有无子栏目
{if $t.child}{/if}
共享栏目导航循环:
<!--调用共享栏目-->
<!--第一层:调用pid=0表示顶级-->
{category module=share pid=0}
{if IS_SHARE && $catid && in_array($catid, $t.catids)} active {/if}
地址:{$t.url}
{if $t.tid==2}{/if}
标题:{$t.title}
栏目名:{$t.name}
栏目目录:{$t.dirname}
图片:{dr_thumb($t.thumb,宽,高)}或者{dr_get_file($t.thumb)}
{if $t.child}
<!--第二层:调用第二级共享栏目-->
{category module=share pid=$t.id return=t2}
{if $t2.child} {/if}
{if IS_SHARE && $catid && in_array($catid, $t2.catids)} active{/if}
{$t2.url}
{$t2.name}
{if $t2.child}
<!--第三层:调用第三级共享栏目数据-->
{category module=share pid=$t2.id return=t3}
{if IS_SHARE && $catid && in_array($catid, $t3.catids)} active{/if}
{$t3.url}
{$t3.name}
{/category}
<!--第三层:end-->
{/if}
{/category}
<!--第二层:end-->
{/if}
{/category}
<!--第一层:end-->
<!--调用全部独立模块-->
{cache name=module-content return=m}
{if !$m.share}
{if MOD_DIR==$m.dirname}active{/if}
{$m.url}
{$m.name}
<!--第一层:调用独立模块下的顶级栏目-->
{category module=$m.dirname pid=0 return=t2}
{if $t2.child} dropdown-submenu{/if}
{if MOD_DIR==$m.dirname && $catid && in_array($catid, $t2.catids)} active{/if}
{$t2.url}
{$t2.name}
{if $t2.child}
<!--第二层:调用第二级栏目-->
{category module=$m.dirname pid=$t2.id return=t3}
{if MOD_DIR==$m.dirname && $catid && in_array($catid, $t3.catids)} active{/if}
{$t3.url}
{$t3.name}
{/category}
<!--第二层:end-->
{/if}
{/category}
<!--第一层:end-->
{/if}
{/cache}
单个独立栏目:
{category module=problem pid=0}
<li class='{if MOD_DIR == "problem" && $catid && in_array($catid, $t.catids)} on{/if}'>
<div class="navA"><a class="fa_link" href="{$t.url}">{$t.name}</a></div>
</li>
{/category}
数字自增:
{$key+1}
补零法:
{str_pad($key, 2, '0', STR_PAD_LEFT)}
第二页自增:
{php echo ($page>1 ? $key + (($page-1) * $pagesize) : $key) + 1;}
补零法自增:
{php echo str_pad((($page>1 ? $key + (($page-1) * $pagesize) : $key) + 1), 2, '0', STR_PAD_LEFT);}
自定义链接循环:调用type=1的导航,num表示10条数据
{list action=navigator type=1 num=10}
地址:{$t.url}
标题:{$t.title}
名称:{$t.name}
图片:{dr_thumb($t.thumb,宽,高)}或者{dr_get_file($t.thumb)}
{/list}
查询站点中的栏目id=5的栏目信息
名称 {dr_share_cat_value(5, 'name')}
目录 {dr_share_cat_value(5, 'dirname')}
url {dr_share_cat_value(5, 'url')}
内容 {dr_share_cat_value(5, 'content')}
图片 {dr_get_file(dr_share_cat_value(5, 'thumb'))}
截取内容100个字 {dr_strcut(dr_clearhtml(dr_share_cat_value(5, 'content')), 100)}
独立栏目
{dr_cat_value("模块目录", 栏目ID, "输出字段")}
查询网店的栏目id=5的栏目信息
{dr_cat_value('store',5, 'name')}
首页调用列表内容:
附加字段:more=1
添加分页:page=1
推荐位:flag=1
模型名称:module=news
推荐位数据循环调用
https://www.xunruicms.com/doc/898.html
{module module=news catid=26 num=5 order=displayorder_ASC,updatetime_desc}
{$t.url}
附件id:{$t.fujian[id]}
{dr_get_file($t.thumb)}
{dr_down_file($t.thumb)}
使用方法:dr_down_file(文件ID, '自定义文件命名(v4.5.1以后版本使用)')
其他站点附件下载:{dr_rp(dr_down_file($t.filesxz), ROOT_URL, SITE_URL)}
{dr_thumb($t.thumb, 100, 90)}
{$t.title}
{dr_strcut($t.title, 40)}
{dr_strcut($t.description, 40)}
{date('Y-m-d', $t._updatetime)}
排除小数:{intval($t.price)}
发布时长:{dr_fdate($t._inputtime)}
所属上级栏目:{dr_cat_value(MOD_DIR, dr_cat_value(MOD_DIR, $t['catid'], 'pid'), 'name')}
所属上级链接:{dr_cat_value('news', dr_cat_value('('news', $t['catid'], 'pid'), 'url')}
所属栏目:{dr_cat_value(MOD_DIR,$t.catid,'name')}
栏目链接:{dr_cat_value('name',$t.catid,'url')}
多模块下:
所属上级栏目:{dr_cat_value($t.mid, dr_cat_value($t.mid, $t['catid'], 'pid'), 'name')}
所属上级链接:{dr_cat_value($t.mid, dr_cat_value($t.mid, $t['catid'], 'pid'), 'url')}
所属栏目:{dr_cat_value($t.mid, $t.catid,'name')}
栏目链接:{dr_cat_value($t.mid, $t.catid,'url')}
{/module}
分页数量
pagesize=2
循环子栏目中的内容:
{category module=share pid=33}
{$t.name}
{module module=chuzhenr catid=$c.id order=displayorder_asc}
{$t.xwzby}
{/module}
{/category}
循环子栏目中的内容/自动获取模型 $t.mid:
{category module=share pid=33}
{$t.name}
{module module=$t.mid catid=$t.id order=displayorder_asc return=a}
{$a.xwzby}
{/module}
//如果循环多个 module 每个都需要单独 设置 return 的返回值
{module module=$t.mid catid=$c.id order=displayorder_asc return=b}
{$b.title}
{/module}
{/category}
内容标题高亮:
{if $t.id==$id}{/if}
{category pid=$top.id return=c1}
{$c1.name}
{module catid=$c1.id order=updatetime page=1}
{$t.url}
{$t.title}
{/module}
{/category}
两个样式循环:
{if ($key%2==0)}
样式1
{else}
样式2
{/if}
内页列表调用分页:
{$pages}
------------内页------------
{$top.name} 调用顶级栏目名称
{$top.dirname} 调用顶级栏目目录
{$top.url} 调用顶级栏目链接
{dr_get_file($top['thumb'])} 调用顶级栏目图片:可调用栏目自定义图片
{$parent.name} 调用上级栏目名称
{$parent.dirname} 调用上级栏目目录
{$parent.url} 调用上级栏目链接
{dr_get_file($parent['thumb'])} 调用上级栏目图片:可调用栏目自定义图片
{$cat.name} 调用当前栏目名称
{$cat.dirname} 调用当前栏目目录
{$cat.url} 调用当前栏目链接
{dr_get_file($cat['thumb'])} 调用当前栏目图片:可调用栏目自定义图片
{$cat.total} 当前栏目内容数量统计
{dr_rp($cat.encontent, 'src="https://wenda.webvip.vip/uploadfile', 'src="'.ROOT_URL.'uploadfile')} 终端调用当前栏目内容
栏目类型判断
{if $t.tid==2}target="_blank"{/if}
内页多级:
{category module=share pid=$top.id}
{$t.url}
{$t.name}
{category module=share pid=$t.id return=t2}
{$t2.url}
{$t2.name}
{/category}
{/category}
内页左侧调用当前子栏目
{if $top.child}
{loop $related $c}
<li {if $c.id==$catid} class="active"{/if}><a href="{$c.url}">{$c.name}</a></li>
{/loop}
{/if}
{if $cat.pid}
{list action=category module=share pid=$cat.pid}
<li {if $t.id==$catid} class="on"{/if}><a href="{$t.url}">{$t.name}</a></li>
{/list}
{/if}
相关栏目-下级或者同级栏目
https://www.xunruicms.com/doc/790.html
{loop $related $c}
<li {if $c.id==$cat.id} class="active"{/if}><a href="{$c.url}">{$c.name}</a></li>
{/loop}
判断当前栏目是否含有子栏目
{if $cat.child}
有
{else}
没有
{/if}
显示指定的字段内容
field=thumb,title,url
{if $c.id==$id}{/if}只适合单篇
判断栏目显示隐藏:
{if $c.show}
{/if}
导航栏目高亮:
{if @in_array($catid, $t.catids)}id="bn_u{$key+1}"{/if}
面包屑导航:
{dr_catpos($catid, '>', 1)} 1显示url,0不显示url
$catid可以改成具体栏目id
单篇内容调用:
{$content}
终端单篇内容:
{dr_rp($content, 'src="https://wenda.webvip.vip/uploadfile', 'src="'.ROOT_URL.'uploadfile')}
详细页缩略图调用:
{dr_get_file($thumb)}
时间调用:
详细页时间调用:{dr_date($_updatetime, 'Y-m-d')}
详细页系统默认时间:{$updatetime}
某个模块搜索写法:
<form class="search-form" method="get" target="_blank" action="{SITE_URL}index.php">
<input name="s" type="hidden" value="{MOD_DIR}">
<input name="c" type="hidden" value="search">
<input type="text" class="form-control" placeholder="输入搜索关键字" name="keyword">
<button class="btn" type="submit">搜索</button>
</form>
<input name="catid" value="1" type="hidden">搜索指定id栏目中的内容
{MOD_DIR}表示当前模块,你也可以写具体的模块目录
精确匹配
dayrui\Fcms\Model\Search.php
文章列表页:
https://www.xunruicms.com/doc/851.html
{module catid=$catid order=updatetime page=1}
{$t.url}
{dr_thumb($t.thumb)}
{$t.title}
{date('Y/m/d', $t._updatetime)}
{$t.description}
{$t.hits}
{/module}
{$pages}
文章详细页:
{$title}
{dr_show_hits($id)}
{$content}
{dr_get_file($thumb)}
单选数值输出
{php $dd = dr_field_options(49);}
{$dd[$t.ydxm]}
多选数值输出
{php $kf = dr_field_options(9);}
{loop $kf $v $name}
{if in_array($v, $ydxm)}
{$name}、
{/if}
{/loop}
多文件调用:
{php $字段名=dr_get_files($字段名);} // 未被格式化输出需要加这句话
----------------------------------
获取第一张图片:
{dr_thumb($xiangce[0][file])}
统计多图总数
{dr_count($字段名)}
{loop $字段名 $i $c}
序号: {$i}
标题:{$c.title}
描述:{$c.description}
文件原始地址:{dr_get_file($c.file)}
文件的下载地址:{dr_down_file($c.file)}
图片缩略图:{dr_thumb($c.file, 200, 200)}
图片缩略图带水印:{dr_thumb($c.file, 200, 200, 1)}
{/loop}
调用下拉列表:
{php $field = dr_field_options_id('字段id');}
{$field[$字段名]}
{php $field = dr_field_options_id('字段ID');}
{$field[$字段名称]} 或者 {$field.$字段名称}
相关字段:
{if $tdxs}
{module module=cnscx IN_id=$tdxs return=r}
输出标题:{$r.title}等等
{/module}
{else}
没有关联内容
{/if}
相关关键字文章调用:
{related tag=$tag}
<a href="{$t.url}" >{$t.title}</a>
{/related}
或者
{related tag=关键词1,关键词2,关键词N}
<a href="{$t.url}" >{$t.title}</a>
{/related}
调用图书相关字段:
{php $xgkc=dr_string2array($xgkc);}
{module module=book IN_id=$xgkc}
{$t.title}
{list action=extend module=book cid=$t.id order=id_asc return=c}
{$c.name}
{/list}
{/module}
栏目相关字段:
IN_id=$act.xgkc
分页样式:
.search-pagination{ width:100%; margin:auto; margin-top:30px;}
.search-pagination .pagination{ width: 100%; text-align: center;}
.search-pagination .pagination>li{ margin: 0 5px;}
.search-pagination .pagination>li a{ float: none; color: #555; border: solid 1px #e7e7e7; border-radius: 0;}
.search-pagination .pagination>li a:hover{ background-color:#4aa635; border-color: #4aa635; color: #fff;}
.search-pagination .pagination>li.active{ background:#4aa635;}
.search-pagination .pagination>li.active a{ color:#fff; background-color:#4aa635; border-color: #4aa635;}
独立分页:
<a href="{str_replace('[page]', max($page-1, 1), $urlrule)}">上一页</a>
<a href="{str_replace('[page]', min($page+1, $nums), $urlrule)}">下一页</a>
文章详细页:
{$title}
{dr_date($_updatetime, 'Y-m-d H:i:s')}
{$content}
下拉字段调用:
<select name="data[nianji]" class="input_text nianji">
{php $field = dr_field_options_id(13);}
{loop $field $value $name}
<option value="{$value}">{$name}</option>
{/loop}
</select>
多站点翻译自定义参数
{dr_lang($name)}
{dr_lang("参数名")}
前台链接
{dr_url('tag/home/tagCloud')}
会员登录
{dr_member_url('login/index')} 会员登录
{dr_member_url('register/index')} 会员注册
{dr_member_url('home/index')} 会员中心
{MEMBER_URL}
{dr_url('order/cart/index')} 购物车
{dr_search_url()} 模块内搜索
{dr_member_url('login/find')} 找回密码
会员退出
<a href="javascript:;" onclick="dr_tuichu('{SITE_URL}')">退出 </a>
<script>
function dr_tuichu(url) {
$.ajax({type: "GET",dataType:"json", url: "/index.php?s=api&c=api&m=loginout",
success: function(json) {
var oss_url = json.data.sso;
// 发送同步登录信息
for ( var i = 0; i < oss_url.length; i++){
$.ajax({
type: "GET",
url:oss_url[i],
dataType: "jsonp",
success: function(json){ },
error: function(){ }
});
}
dr_cmf_tips(1, json.msg);
setTimeout('________window.location.href="'+url+'"', 2000);
},
error: function(HttpRequest, ajaxOptions, thrownError) {
dr_ajax_alert_error(HttpRequest, ajaxOptions, thrownError)
}
});
}
</script>
判断会员登录状态:
https://www.xunruicms.com/doc/912.html
{if $member} {else} {/if}
判断会员组:
{if $member.groupid==4}{/if}
英文分页:
'next_link' => dr_lang('下一页') , // 需要翻译语言 用这个调用
列表页收藏:
{if $member}
{table table=1_news_favorite module=news uid=$member.id cid=$t.id return=fav}{/table}
{if $count_fav}
<div class="xh"><a href="javascript:dr_module_favorite('news', '{$t.id}');">已收藏</a></div>
{else}
<div class="xh"><a href="javascript:dr_module_favorite('news', '{$t.id}');">未收藏</a></div>
{/if}
{else}
<div class="xh"><a href="javascript:dr_module_favorite('news', '{$t.id}');">收藏</a></div>
{/if}
详情页收藏:
<div class="btns">
{if $member}
{table table=1_news_favorite uid=$member.id cid=$id return=fav}{/table}
{if $count_fav}
<a href="javascript:dr_module_favorite('{MOD_DIR}', '{$id}');" class="sc">
已收藏
</a>
{else}
<a href="javascript:dr_module_favorite('{MOD_DIR}', '{$id}');" class="sc">
未藏
</a>
{/if}
{else}
<a href="javascript:dr_module_favorite('{MOD_DIR}', '{$id}');" class="sc">
收藏
</a>
{/if}
</div>
//
目录权限划分
https://www.xunruicms.com/v3doc/237.html
当前已登录用户
https://www.xunruicms.com/doc/912.html
------------阅读付费------------
获取当前会员所属会员组的价格
列表页调用:
{php $a = dr_string2array($t.yuedusf_sku);}
{if $member}
{loop $member.group $tt}
{$a[$tt.gid]}
{/loop}
{else}
{$a[1]}
{/if}
详情页调用:
{php $vsku = dr_string2array($yuedusf_sku);}
指定会员组:{$vsku[1]}
当前所属会员组:
{loop $member.group $tt}
{$vsku[$tt.gid]}
{/loop}
循环所有会员组价格:
{php $vsku = dr_string2array($yuedusf_sku);}
{loop $member.group $tt}
{cache name=member_group return=mp}
{if $tt.gid==$mp.id}
原价:{if $vsku[$mp.id]!='0'}
{$vsku[$mp.id]} <sup>设计币</sup>
{else}
免费
{/if}
{/if}
{/cache}
{/loop}
------------商城标签------------
商城首页
/index.php?s=store
购物车
/index.php?s=store&c=cart
商品调用
{module module=store catid=$t.id num=5 return=r}
商品图片:{dr_thumb($r[thumb][0][file], 200, 160)}
{/module}
平台登录
qq:
{Router::oauth_url('qq', 'login')}
微博:
{Router::oauth_url('weibo', 'login')}
微信:
{Router::oauth_url('weixin', 'login')}
获取商品第一张缩略图
{dr_thumb($thumb[0][file])}
商品图组循环
{loop $thumb $t}
图片: {dr_get_file($t.file)}
{/loop}
商品评论数
{$comments}
商品自定义参数循环
{loop $spcs $i $c}
参数名:{$c.value}
参数值:{$c.value}
{/loop}
Property 字段调用
指定某个栏目调用:
{category module=share id=23 }
{loop $t.lxfs $i $t}
<li>{$t.value}</li>
{/loop}
{/category}
当前栏目调用:
{loop $cat.lxfs $i $t}
<li>{$t.name}: {$t.value}</li>
{/loop}
其他页面提交表单:
https://www.xunruicms.com/doc/633.html
https://www.xunruicms.com/doc/612.html
表单内容调用:
http://help.xunruicms.com/56.html
表单详情页:
/index.php?s=form&c=bming&m=show&id={id}
html实体字符转换函数
https://www.xunruicms.com/doc/976.html
函数名称:dr_code2html(htm变量, 是否所有转换, 转换类型)
//内容管理多图处理
{php $jqjs = dr_get_files($t.tuzu);}
//单选字段单个输出
{php $kf = dr_field_options(49);}
项目:{$kf[$ydxm]}<br/>
//后台二维码获取前台链接
{dr_qrcode(SITE_URL.'index.php?s=form&c=djzs&m=show&id='.$id)}
问答插件:
//编辑器实例化
editor = window.parent.UE.instants['ueditorInstant0'];
多站点下 其他站点 使用 dr_down_file 进行下载处理
{dr_rp(dr_down_file($t.filesxz), ROOT_URL, SITE_URL)}
模块表单:
获取当前内容提交表单的总数:{$t.yysq_total}
详情页调用当前子内容
{mform form=pingjia module=news cid=$id order=inputtime}{/mform}
模块表单内容调用:
https://www.xunruicms.com/doc/427.html
后台内容列表显示推荐类型:
<?php
foreach($ci->module['setting']['flag'] as $i=>$v){
if(\Phpcmf\Service::M()->table_site(MOD_DIR.'_flag')->where('flag', $i)->where('id', $t.id)->counts()){
echo $v.name." ";
}
}
?>
条件循环修饰符、通配符
https://www.xunruicms.com/doc/661.html
联动菜单:
https://www.xunruicms.com/doc/394.html
https://www.xunruicms.com/doc/843.html
联动多选高亮:
如果别名不是数字
{if in_array($c2.cname, $member.skills)}checked{/if}
如果别名是数字
{if in_array($c2.ii, $member.skills)}checked{/if}
alert() 美化样式替代
layer.msg()
设置翻译
dr_lang('用户中心')
模块草稿、回收站、审核、定时的内容预览页
https://www.xunruicms.com/doc/609.html
-----------问答插件----------
编辑器位置
{if $is_comment!=1}
表示显示提交框架
{/if}
-------------
token:
{dr_get_csrf_token()}