解决的办法,在phpcms\libs\functions\extention.func.php(自定义函数文件)中定义一个方法
/**
* 获取选项的格式化输出
* @param str $field 字段名称 必须
* @param int $value 字段值 必须
* @param int $modelid 模型ID 必须
* 2014-09-28 by awen
*/
function get_box($field, $value,$modelid) {
$fields = getcache('model_field_'.$modelid,'model');
extract(string2array($fields[$field]['setting']));
if($outputtype) {
return $value;
} else {
$options = explode("\n",$fields[$field]['options']);
foreach($options as $_k) {
$v = explode("|",$_k);
$k = trim($v[1]);
$option[$k] = $v[0];
}
$string = '';
switch($fields[$field]['boxtype']) {
case 'radio':
$string = $option[$value];
break;
case 'checkbox':
$value_arr = explode(',',$value);
foreach($value_arr as $_v) {
if($_v) $string .= $option[$_v].' ';
}
break;
case 'select':
$string = $option[$value];
break;
case 'multiple':
$value_arr = explode(',',$value);
foreach($value_arr as $_v) {
if($_v) $string .= $option[$_v].' ';
}
break;
}
return $string;
}
}这个是照内容输出页面的原理弄出来的,是系统的实现方式,安全可靠,只是把原来的、号分隔改成了空格,也可以加一个标签之类的,可以自己改。
前台使用
第一个是你的字段名称,第二个是你字段的值,就是输出的1、2、3,第三个是你所使用的模型iD
如楼盘特色字段名为‘lpts’,字段值为$r[lpts]这是loop循环得到的变量也可以是一个指定的你定义的值,第三个15是楼盘模型的ID
{get_box('lpts',$r[lpts],15)}
效果如下
首先我们注意的一个问题是,作为循环,if判断的条件不能是“==”,因为是“==”的话当走到5之后就永远不会符合条件了,所以第五个后面的就不会被显示了,我们可以用求余作为条件式来作为循环条件,例如第二个:
比如,我想在文章内容页,只显示年月日,不显示时分秒,按列表页用date函数会显示1970,找了很多方法,
后面看到化碟版主的,解决了,所以这里记录一下,直接用 $rs[inputtime] 就是输出了时间戳,然后用date来处理.
{date('M-d, Y',$rs[inputtime])}
另,还发现,date里,写M是显示英文的日期,m是数字。呵呵
phpcms默认的输出序号是{php $num++},然后用{$num}调用,但是如果自定义多图字段输出的值不是从1开始。解决方法如下
{loop $subdetail $pic_k $v}
<img src="{$v[url]}" alt="{$v[alt]}" class="sub0{$n}">
列表页:{trim($r[字段],' 、')}
内容页:{trim($字段,' 、')}
PHPCMS 判断列表分页是否第一页的代码
{if $page==1}......{/if}
<style type="text/css">
*{margin:0;padding:0;list-style-type:none;}
a,img{border:0;text-decoration:none;}
body{font:12px/180% Arial, Helvetica, sans-serif, "新宋体";}
table{empty-cells:show;border-collapse:collapse;border-spacing:0;}
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
<title>复选框全选、全不选、反选、必选一个</title>
废话不多说,直接上DEMO下载地址:http://download.csdn.net/detail/cometwo/9602499
参考链接:http://www.dowebok.com/134.html
首页的推荐商品包括热销推荐和促销三个文件
1、打开mobile/index.php,添加以下代码
//获取商品分类
$pcat_array = get_categories_tree();
foreach ($pcat_array as $key => $pcat_data)
{
$pcat_array[$key]['goods_list'] = get_parent_category_goods($pcat_data['id']);
在ECSHOP首页显示商品总数和本月更新数
1)、首先修改 /index.php 找到 assign_dynamic('index');
在它后边添加一些代码
$sql="select count(*) as goods_all from ". $ecs->table('goods'); //商品总数
$smarty->assign('goodsnum_all',$db->getOne($sql));
$time_month=mktime(0,0,0,date('m')-1,1,date('Y'));
$sql="select count(*) as goods_month from ". $ecs->table('goods') ." where last_update >= " . $time_month; //本月更新数
$smarty->assign('goodsnum_month',$db->getOne($sql));
2)、打开首页模板文件 index.dwt,在合适的地方调用,调用代码为 本商城共有商品 {$goodsnum_all} 件,本月更新 {$goodsnum_month} 件
管理员密码忘记,通过重新安装的密码更换数据库,或者通过md5加密密文替换数据库,都一一失败,这个问题困扰了很多朋友。
phpcms 图片模型组图列表获取图片尺寸需要用到getimagesize函数,不废话,直接看代码:
{loop $pictureurls $pic_k $r}
{php $info = getimagesize($r[url])}
<a href="{thumb($r[url], 700, 700, 0)}" data-author="{$r[alt]}" data-size="{$info[0]}x{$info[1]}" data-med="{thumb($r[url], 700, 700, 0)}" data-med-size="{$info[0]}x{$info[1]}"><img src="{thumb($r[url], 700, 700, 0)}" width="160" /><span>{$r[alt]}</span></a>
{/loop}
<< 向左走,向右走 >>
