Phpcms v9管理会员模型详细介绍
- 格式:pdf
- 大小:293.21 KB
- 文档页数:5
PHPCMS V9 内容管理系统产品白皮书上海盛大网络发展有限公司2010年10月关于本文档PHPCMS V9是 PHPCMS 出品的一款基于PHP技术和AJAX技术的企业级网站内容管理系统,旨在帮助用户解决日益复杂与重要的Web内容的创建、维护、发布和应用。
本文档概要地介绍了PHPCMS V9各项特性与功能,是用户熟悉和掌握PHPCMS V9的良好参考资料。
读者对象本文档的读者为PHPCMS V9的使用者。
使用者应具备以下基础知识:熟悉Microsoft Internet Explorer或Mozilla Firefox的使用;熟悉Windows或Linux/Unix操作系统;熟悉Mysql数据库,及数据库相关知识 .熟悉HTML基本知识和相关的HTML页面制作方法。
用户反馈感谢您使用PHPCMS 开源软件的产品。
如果您发现本文档中有错误或者产品运行不正常,或者您对本文档有任何意见和建议,请及时与我们联系。
您的意见将是我们做版本修订时的重要依据。
联系地址上海盛大网络发展有限公司:北京市朝阳区西坝河西里18号正通时代创意中心6号楼邮编:100083电话:(010)52752688传真:(010)52752888商务QQ:1561683312,1115940351 Email:zhangqing.zack@目录1公司简介12产品概述产品简介5全新框架5门户级站群系统6多发布点 6 数据表分离6强大的内容模型6模版制作方便6银行级的安全保障措施7优秀的用户体验7千万级的数据承载能力7 3功能模块文章7专题10评论14投票15广告位17附件管理18全站搜索20会员系统21站群功能24多发布点27信息采集27数据备份29 SSO(单点登陆)30支付系统(在线充值)31 4技术架构4.1运行环境334.2架构介绍334.3安全机制34 5购买方式5.1购买流程345.2价格体系355.3购买说明361 公司介绍Phpcms网站管理系统是国内主流CMS系统之一,曾多次被新浪、网易、电脑报等IT媒体报道。
[摘要]本文介绍phpcms v9中模板标签使用说明。
{template "content","header"}调用根目录下phpcms\template\content\header文件{CHARSET}字符集(gbk或者utf-8){if isset($SEO['title']) && !empty($SEO['title'])}{$SEO['title']}{/if}{$SEO['site_title']}{$SEO['keyword']}{$SEO['description']}标题和标题seo优化{CSS_PATH}地址替换为根目录下\statics\css{JS_PATH}地址替换为根目录下\statics\js{pc:content action="position" posid="9" order="id" num="10" cache="3600"}pc标签{pc:content 参数名="参数值"参数名="参数值"参数名="参数值"}{loop $data $k $v}<li><a href="{$v[url]}">{$v[title]}</a></li>{/loop}pc标签值action="position"--------------对话框的类型=“内容推荐位列表”posid="9"----------------------推荐位ID="9"order="id"---------------------排序类型="id"num="10" ----------------------数据调用数量="10"cache="3600"-------------------缓存="3600"毫秒{get_siteid()}{IMG_PATH}action="hits" 排行,热点等action="lists" 主要用于列表等。
PHPCMS V9模板制作教程2011年5月29日12:17第一节1、首先下载phpcms v9的集成安装包并安装,在官方论坛里很显眼的位置,这里就不详细说明了。
2、本地调试建议大家使用APMserver,或者wampserver等,可以到PHPCMS吧官方网站首页链接下载。
安装好打开v9的根目录“phproot→phpcms→templates”文件夹把“default”文件夹复制一份起名“redu”。
3、登陆v9后台登录地址:http://localhost/admin.php用户名:phpcms 密码:phpcms。
4、打开界面→模板风格→风格标识redu下的详细列表下的content文件夹。
5、大家熟悉一下后台的使用,这个必须掌握。
今天就写这些。
第二节课1、首先修改首页模板index.html修改前向大家介绍下v9的工作模式,v9和他的前身phpcms2008是一样的都是“标签调用头部 +首页部分+ 标签调用底部”所以按照从头开始的顺序第一步打开heard.html现在我们开始分析header.html的构造:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml">上面是W3C网页标准<head><meta http-equiv="Content-Type" content="text/html; charset={CHARSET}" />{CHARSET}" =字符集(gbk或者utf-8)<meta http-equiv="X-UA-Compatible" content="IE=7" /><title>{if isset($SEO['title']) && !empty($SEO['title'])}{$SEO['title']}{/if}{$SEO['site_title']}</title>判断语句翻译:如果设置了标题并且标题不为空,则显示标题,否则显示网站名称<meta name="keywords" content="{$SEO['keyword']}"><meta name="description" content="{$SEO['description']}"><link href="{CSS_PATH}reset.css" rel="stylesheet" type="text/css" /><link href="{CSS_PATH}default_blue.css" rel="stylesheet" type="text/css" />上面2行是外部css的调用{CSS_PATH}<script type="text/javascript" src="{JS_PATH}jquery.min.js"></script><script type="text/javascript" src="{JS_PATH}jquery.sGallery.js"></script><script type="text/javascript" src="{JS_PATH}search_common.js"></script>上面3行是网页的js调用</head><body><div class="body-top"><div class="content">{pc:content action="position" posid="9" order="id" num="10" cache="3600"}<div id="announ"><ul>{loop $data $k $v}<li><a href="{$v[url]}">{$v[title]}</a></li>{/loop}</ul></div>{/pc}<script type="text/javascript">$(function(){startmarquee('announ',22,1,500,3000);})</script><div class="login lh24 blue"><a href="{APP_PATH}index.php?m=content&c=rss&siteid={get_siteid()}" class="rss ib">rss</a><span class="rt"><script type="text/javascript">document.write('<iframe src="{APP_PATH}index.php?m=member&c=index&a=mini&forward='+encodeURIComponent(location.href)+'&siteid={ get_siteid()}" allowTransparency="true" width="300" height="24" frameborder="0" scrolling="no"></iframe>')</script></span></div></div></div><div class="header"><div class="logo"><a href="/"><img src="{IMG_PATH}v9/logo.jpg" /></a></div>下面是搜索部分<div class="search"><div class="tab" id="search">{php $j=0}{php $search_model = getcache('search_model_'.$siteid, 'search');}{loop $search_model $k=>$v}{php $j++;}<a href="javascript:;" style="outline:medium none;" hidefocus="true" {if $j==1 && $typeid= $v['typeid']} class="on" {/if}>{$v['name']}</a>{if $j != count($search_model)}<span> |</span>{/if}{/loop}{php unset($j);}</div> <div class="bd"><form action="{APP_PATH}index.php" method="get" target="_blank"><input type="hidden" name="m" value="search"/><input type="hidden" name="c" value="index"/><input type="hidden" name="a" value="init"/><input type="hidden" name="typeid" value="{$typeid}" id="typeid"/><input type="hidden" name="siteid" value="{$siteid}" id="siteid"/><input type="text" class="text" name="q" id="q"/><input type="submit" value="搜索" class="button" /></form></div></div>搜索部分结束<div class="banner"><script language="javascript" src="{APP_PATH}index.php?m=poster&c=index&a=show_poster&id=1"></script></div><div class="bk3"></div><div class="nav-bar"><map>{pc:content action="category" catid="0" num="25" siteid="$siteid" order="listorder ASC"}<ul class="nav-site"><li><a href="{siteurl($siteid)}"><span>首页</span></a></li>{loop $data $r}<li class="line">|</li><li><a href="{$r[url]}"><span>{$r[catname]}</span></a></li>{/loop}</ul>{/pc}</map></div>{if $top_parentid}<div class="subnav">{pc:content action="category" catid="$top_parentid" num="15" siteid="$siteid"order="listorder ASC"}{loop $data $r}<a href="{$r[url]}">{$r[catname]}</a><span> | </span>{/loop}{/pc}{if $modelid}<a href="{APP_PATH}index.php?m=content&c=search&catid={$catid}">搜索</a>{/if}</div>{/if}</div>建议下载个opera浏览器他的检查页面元素功能超赞!第四节{template "content","header"}调用根目录下phpcms/template/content/header文件<!--main-->这个是模版注释!建议一定要养成写代码加注释的习惯这个是div标签,不知道什么是div可以的去网上找些教程学习下,这个都不了解就没必要继续看了<!--这里是pc标签{pc:content 参数名="参数值" 参数名="参数值" 参数名="参数值"}--> {pc:content action="position" posid="2" order="listorder DESC" num="4"}<!--显示PC标签中的数据-->{loop $data $r}{str_cut($r[title],36)}{if $n==1}{/if}{str_cut($r[description],112)}{/loop}{/pc}<!--结束标签--><!--这里还是pc标签-->{pc:content action="position" posid="1" order="listorder DESC" thumb="1" num="5"} {loop $data $r}{/loop}{/pc}推广{pc:block pos="index_block_1"}{/pc}图片新闻{pc:content action="position" posid="12" thumb="1" order="id DESC" num="10"} {loop $data $r}{str_cut($r[title],20)}{/loop}{/pc}{loop subcat(0,0,0,$siteid) $r}{php $num++}{$r[catname]}更多>>{pc:content action="lists" catid="$r[catid]" num="1" thumb="1" order="id DESC" return="info"}{loop $info $v}{str_cut($v['title'],28)}{str_cut($v['description'],100)}{/loop}{/pc}{pc:content action="lists" catid="$r[catid]" num="5" order="id DESC" return="info"} {loop $info $v}·{str_cut($v['title'],40)}{/loop}{/pc}{if $num%2==0}{/if}{/loop}公告{pc:announce action="lists" siteid="$siteid" num="2"}{loop $data $r}{$r['title']}{/loop}{/pc}专题更多>>{pc:special action="lists" siteid="$siteid" elite="1" listorder="3" num="2"}{loop $data $r}{if $n!=1}{/if}{str_cut($r[title],'18')}{str_cut($r['description'],50)}{/loop}{/pc}热点 | 评论 | 关注排行{pc:content action="hits" catid="35" num="10" order="views DESC"}{loop $data $r}{$r[title]}{/loop}{/pc}{pc:comment action="bang" num="10" cache="3600"}{loop $data $r}{$r[title]}{/loop}{/pc}{pc:content action="hits" catid="35" num="10" order="views DESC"}{loop $data $r}{$r[title]}{/loop}{/pc}{pc:link action="type_list" siteid="$siteid" linktype="1" order="listorder DESC" num="8" return="pic_link"}{loop $pic_link $v}{/loop}{/pc}{pc:link action="type_list" siteid="$siteid" order="listorder DESC" num="10" return="dat"} {loop $dat $v}{if $type==0}{$v[name]} |{else}{/if}{/loop}{/pc}$(function(){new slide("#main-slide","cur",310,260,1);//焦点图new SwapTab(".SwapTab","span",".tab-content","ul","fb");//排行TAB}){template "content","footer"}第三节1、养成书写规范的DIV标签搜索引擎优化(seo)中,对代码的优化也是一个很关键的步骤。
PHPCMS v9模型二次开发[高级]概述:PHPCMS v9模型二次开发主要分为底层模型开发,即代码级的模型开发;其次,是可视化的模型开发,即通过登录系统后台添加模型。
第一种模型开发对技术要求很高,但是,能实现很多PHPCMS v9没有实现或者不能实现的功能。
第二种模型开发完全隐藏了技术的实现,操作简单,使用方便,在没有特殊功能的时候,这个是首先。
我们今天先讲第二种,可视化的模型开发。
假如,现在我们有一个产品展示功能。
要显示的信息如下:*)产品名称*)产品价格*)出厂时间*)规格参数*)配件列表*)产品图片然后,PHPCMS v9提供的文章模型、图片模型、下载模型根本不能满足我们的这个需求。
此时,我们就会涉及到添加模型的操作。
1、登录系统后台,进入导航“内容”----》"管理模型"然后,在页面的右边找到“添加模型”,点击进入添加模型:模型名称必须填写,当我们在添加栏目的时候就可以选择以这个名称命名的模型了。
模型表键名也必须填写,这个将会在数据库里面有二张表对应,假设此时的表前缀是:v9_则对应的两张表名为:v9_products、v9_products_data2、点击确定创建好自定义的“产品模型”之后,点击“字段管理”点击“字段管理”之后,在弹出的页面里面进行字段的禁用、删除、添加等操作。
比如:添加产品名称、产品价格、产品规格、出厂时间等字段。
删除:阅读收费、允许评论、分页方式、相关文章等字段。
禁用:关键词、推荐位等字段。
删除字段与禁用字段都很方便快捷,现在来谈谈添加字段。
在点击“字段管理”进入页面后,左上角会有一个“添加字段”的功能。
点击“添加字段”进入页面。
如图:我们以添加一个是否显示产品的功能字段,那么在字段类型那里可以选择“选项”;由于,我们会经常使用这个字段进行查询,所以,我们在“作为主表字段”设置为是;字段名设置为isshows,这个地方的字段名对应表中的v9_products表中的字段,添加字段完成之后,可以在这个表中看得出来。
PHPcms简介PHPcms是一款基于PHP语言开发的内容管理系统(CMS)。
它提供了强大的功能和灵活的扩展性,使用户能够轻松地创建和管理网站内容。
PHPcms具有简单易用、安全可靠、高性能等特点,被广泛应用于各种类型的网站。
功能特点1. 多语言支持PHPcms提供了多语言支持,可以轻松创建多语言网站。
用户可以根据需要选择不同的语言进行网站内容的编辑和发布。
2. 模板管理PHPcms具有灵活强大的模板管理功能,用户可以自定义模板样式,实现个性化的网站设计。
同时,还提供了丰富的模板库,用户可以选择适合自己网站风格的模板。
3. 文章管理PHPcms支持对文章进行分类、标签、关键词等属性进行管理。
用户可以方便地创建、编辑和发布文章,并对文章进行排序和搜索。
4. 图片管理PHPcms提供了图片上传和管理功能,用户可以方便地上传、编辑和删除图片,并在文章中插入图片。
5. 用户权限管理PHPcms支持多级用户权限管理,管理员可以设置不同用户组的权限,实现对网站内容的精细化控制。
6. SEO优化PHPcms内置了强大的SEO优化功能,用户可以对网站标题、关键词、描述等进行设置,提高网站在搜索引擎中的排名。
7. 数据备份与恢复PHPcms提供了数据备份和恢复功能,用户可以定期备份网站数据,以防止数据丢失或损坏。
8. 插件扩展PHPcms支持插件扩展,用户可以根据自己的需求选择并安装各种插件,增加网站的功能和特色。
系统架构PHPcms采用MVC(Model-View-Controller)架构模式设计,将数据、界面和控制逻辑进行分离,使系统更加灵活和可扩展。
它主要由以下几个组件组成:1. 模型(Model)模型负责处理与数据库交互的逻辑。
它封装了对数据库的操作,包括增删改查等操作,并提供接口供控制器调用。
2. 视图(View)视图负责展示用户界面。
它根据控制器传递过来的数据生成相应的HTML页面,并将结果返回给浏览器显示。
PHPCMS(v9)表结构解析--95张数备注可能还有些表名和表字段解读的不是很清楚,所以会出现错误的解释。
解析--95张数据表[by 耿荣健]键名类型字段PRIMARY PRIMARY aid siteid INDEX siteid siteid INDEX passed siteid INDEX endtimeusetimes INDEX listorder hits INDEX listorderPRIMARY PRIMARY catid module INDEX module module INDEX parentid module INDEX listorder module INDEX catid siteid INDEX siteid siteid INDEX type评论状态{0:未审核,-1:未通过审核,1:通过审核}内容键名类型字段PRIMARY PRIMARY id siteid INDEX siteid键名类型字段PRIMARY PRIMARY ipbannedid键名类型字段PRIMARY PRIMARY logid module INDEX module module INDEX file module INDEX action username INDEX username username INDEX action明文密码username INDEX username 随机数email INDEX email称昵注册日期注册ip电子邮件所属模型id认默数点默认钱数型模详细信息键名类型字段PRIMARY PRIMARY idmessage INDEX useridmessage INDEX group_message_id键名类型字段PRIMARY PRIMARY fieldid modelid INDEX modelid modelid INDEX disabled field INDEX field field INDEX modelidcatid INDEX siteid catid INDEX contentid键名 类型 字段id INDEX idPRIMARY PRIMARY posid。
phpcmsv9代码分析(三)这篇讲讲模型。
1. phpcms/libs/classes/model.class.php这是所有模型类的父类,其他模型类继承它,设置表名,表前缀。
1 2 3 4 5 6 7 8pc_base::load_sys_class('db_factory', '', 0); class model { protected $db_config = ''; //数据库配置 protected $db = ''; //数据库连接 //调用数据库的配置protected $db_setting = 'default';项9 protected $table_name = ''; 1 0 public 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 { $this->db_setting = 'default'; } $this->table_name = $this->db_config[$this->db_setting]['tablepre'].$this>table_nam e; $this->db_tablepre = $this->db_config[$this->db_setting]['tablepre']; $this->db = db_factory::get_instance($this->db_config)->get_database($this->db_setting); } ............ } public function __construct() { if (!isset($this->db_config[$this->db_setting])) $db_tablepre = ''; //表前缀 //数据表名该类还定义了通用的数据库操作函数。
[PHPCMS V9二次开发]自定义字段模型-文本组∙浏览: 365∙更新: 2012-03-08 11:44举报作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
PHPCMS V9,我们在做作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
PHPCMS V9,我们在做类似于酒店房型等类型的时候,需要用到文本组字段模型,但PHPCMS并未提供该模型。
如下图所示效果:展示效果如下:步骤/方法1.打开phpcms\modules\content\fields目录,复制文件夹downfiles,并改名为textgroups。
2.打开phpcms\modules\content\fields\fields.inc.php文件,增加字段类型:'textgroups'=>'多文件上传',3.打开phpcms\modules\content\fields\textgroups目录(第一步复制的文件夹),修改以下文件:4.form.inc.phpfunction textgroups($field, $value, $fieldinfo) {extract(string2array($fieldinfo['setting']));$list_str = '';if($value) {$value = string2array(html_entity_decode($value,ENT_QUOTES));if(is_array($value)) {foreach($value as $_k=>$_v) {$list_str .= "<div id='textsgroups{$_k}'> <input type='text'name='{$field}_fx[]' value='{$_v[fx]}' style='width:100px;'class='input-text'> <input type='text' name='{$field}_fj[]'value='{$_v[fj]}' style='width:100px;' class='input-text'><input type='text' name='{$field}_cx[]' value='{$_v[cx]}'style='width:100px;' class='input-text'> <input type='text'name='{$field}_kd[]' value='{$_v[kd]}' style='width:100px;'class='input-text'> <input type='text' name='{$field}_vip[]'value='{$_v[vip]}' style='width:100px;' class='input-text'> <a href=\"javascript:remove_div('textsgroups{$_k}')\">".L('remove_ out')."</a></div>";}}}$string ='<script type=text/javascript>function add_textsfile(returnid) {var ids = parseInt(Math.random() * 10000);var str = "<li id=\'textsgroups"+ids+"\'> <input type=\'text\' name=\'"+returnid+"_fx[]\' value=\'\' style=\'width:100px;\'class=\'input-text\'> <input type=\'text\'name=\'"+returnid+"_fj[]\' value=\'\' style=\'width:100px;\'class=\'input-text\'> <input type=\'text\'name=\'"+returnid+"_cx[]\' value=\'\' style=\'width:100px;\'class=\'input-text\'> <input type=\'text\'name=\'"+returnid+"_kd[]\' value=\'\' style=\'width:100px;\' class=\'input-text\'> <input type=\'text\'name=\'"+returnid+"_vip[]\' value=\'\' style=\'width:100px;\' class=\'input-text\'> <ahref=\"javascript:remove_div(\'textsgroups"+ids+"\')\">Remove</a> </li>";$(\'#\'+returnid).append(str);}</script>';$string .= '<input name="info['.$field.']" type="hidden"value="1"><fieldset class="blue pad-10"><legend>'.L('mm_fxlist').'</legend><div id="tt"><input type="text" value="'.L('mm_fx').'" readonlystyle="width:100px;border:0;" class="input-text"><input type="text" value="'.L('mm_fj').'" readonlystyle="width:100px;border:0;" class="input-text"><input type="text" value="'.L('mm_cx').'" readonlystyle="width:100px;border:0;" class="input-text"><input type="text" value="'.L('mm_kd').'" readonlystyle="width:100px;border:0;" class="input-text"><input type="text" value="'.L('mm_lyj').'" readonlystyle="width:100px;border:0;" class="input-text"></div>';$string .= $list_str;$string .= '<ul id="'.$field.'" class="picList"></ul></fieldset><div class="bk10"></div>';$string .= $str."<input type=\"button\" class=\"button\"value=\"".L('mm_addfx')."\"onclick=\"add_textsfile('{$field}')\">";return $string;}5.修改input.inc.phpfunction textgroups($field, $value) {$hotel = $_POST[$field.'_fx'];$hotel_fj = $_POST[$field.'_fj'];$hotel_cx = $_POST[$field.'_cx'];$hotel_kd = $_POST[$field.'_kd'];$hotel_vip = $_POST[$field.'_vip'];$array = $temp = array();if(!empty($hotel)) {foreach($hotel as $key=>$hote) {$temp['fx'] = $hote;$temp['fj'] = $hotel_fj[$key];$temp['cx'] = $hotel_cx[$key];$temp['kd'] = $hotel_kd[$key];$temp['vip'] = $hotel_vip[$key];$array[$key] = $temp;}}$array = array2string($array);return $array;}6.修改的output.inc.phpfunction textgroups($field, $value) {return string2array($value);}7.更新后台缓存。
Phpcms v9模型分析
首先谈到模型,离不开字段的分析
来到module/content/field/目录下面
我们先以图片字段image来说
Config.inc.php
field_add_form.inc.php - 添加:相关的相关参数(除默认参数外附加的)
表单显示的效果为:
这里的配置项保存在配置数组当中,而不是保存在数据库当中
field_edit_form.inc.php - 修改:相关的相关参数(除默认参数外附加的)这里主要是添加模型字段是需要的文件
按新闻栏目来说,
新闻栏目采用的模型是文章模型
在新闻栏目添加内容的时候会把该有的字段给集成进来
在module/content/add里面
这里主要查看缓存文件下面的content.form.class.php的get方法
先看构造方法
这里将该模型的缓存文件全部取出来
如果是formtype为image
至于这个content.form.class.php是怎么生成的这个是更新缓存的时候生成的来到admin/cache_all_init下面
找到class/cache_api/sitemodel
所以现在知道了这几个文件的作用了
Form是生成表单的时候会用到
Input是加入内容的时候会用到
Output是输出内容的时候会用到
Update... 更新的时候会用到
大概就是如此... 了解了这些对于添加某某字段就有用多了。
phpcms v9会员功能撰稿:konami 网址:1.注册先判断是否传值有dosubmit,如果有则处理表单提交过来的数据,如果没有直接include模板(1)Unset 可以同时删除多个(2)设置cookie(3)发送邮件2.登录(1)基础验证(2)验证各类用户3.会员首页index.php?m=member&c=index&a=init (1)获取会员信息(2)会员列表左侧(3)在线投稿功能index.php?m=member&c=content&a=publish$id = $this->content_db->add_content($info);(4)已发布稿件index.php?m=member&c=content&a=published会员投稿1.首先判断会员是否有投稿或者栏目有投稿的权限、一天能够投稿几次2.其次投稿成功后,如果管理员要审核,会在workflow这里面设置了工作流,相当与分几次审核判断,最后有一个审核表content_check 这里面记录了所有审核的记录,在向前台取数据的时候会查找这张表里面已经审核后的记录。
Status = 99,1(一级审核,未通过)2 (二级审核)3(三级审核)4(四级审核),根据workflow里面的workflowid判断是否需要审核,如果需要审核,将content_check里面的status字段置为1,代表进入一级审核,然后进入后台可以查看到一级审核里面有该偏文章Ps:后台将”国内”栏目工作流置为”二级审核“前台发布一篇测试文章:在content-check里面查找该条记录在后台会通过两次审查在文章模型v9_news里面依然能够看到这条记录依然‘status’的状态为1这个时候可以猜想会去找栏目id为6的,查找字段setting查看他的审核等级先然为2 ,其实这里都可以猜想这里为3 后台栏目上会写上一审二审三审如果status为2那么就在二审里面出现,且未审核在会员投稿中,只要未审核,都可以编辑,然后编辑后又会将状态重新置为一审。
Phpcms v9学习手册1、添加全局变量我用了SKIN_JS、SKIN_CSS、SKIN_IMG来定义模板的三个文件夹,如果你不喜欢,修改文件中涉及的这三个变量名可自行修改。
第一步:打开phpcms\modules\admin\templates\setting.tpl.php搜索:$("#img_path").formValidator({onshow:"<?php echo L('setting_input').L('setting_img_path')?>",onfocus:"<?php echo L('setting_img_path').L('setting_end_with_x')?>"}).inputValidator({onerror:"<?php echo L('setting_img_path').L('setting_input_error')?>"}).regexValidator({regexp:"(.+)\/$",oner ror:"<?php echo L('setting_img_path').L('setting_end_with_x')?>"});复制代码在其后加入:$("#skin_js").formValidator({onshow:"<?php echo L('setting_input').L('setting_skin_js')?>",onfocus:"<?php echo L('setting_skin_js').L('setting_end_with_x')?>"}).inputValidator({onerror:"<?php echo L('setting_skin_js').L('setting_input_error')?>"}).regexValidator({regexp:"(.+)\/$",onerror :"<?php echo L('setting_skin_js').L('setting_end_with_x')?>"});$("#skin_css").formValidator({onshow:"<?php echo L('setting_input').L('setting_skin_css')?>",onfocus:"<?php echo L('setting_skin_css').L('setting_end_with_x')?>"}).inputValidator({onerror:"<?php echo L('setting_skin_css').L('setting_input_error')?>"}).regexValidator({regexp:"(.+)\/$",onerr or:"<?php echo L('setting_skin_css').L('setting_end_with_x')?>"});$("#skin_img").formValidator({onshow:"<?php echo L('setting_input').L('setting_skin_img')?>",onfocus:"<?php echo L('setting_skin_img').L('setting_end_with_x')?>"}).inputValidator({onerror:"<?php echoL('setting_skin_img').L('setting_input_error')?>"}).regexValidator({regexp:"(.+)\/$",onerr or:"<?php echo L('setting_skin_img').L('setting_end_with_x')?>"});复制代码搜索:<tr><th width="120"><?php echo L('setting_upload_url')?></th><td class="y-bg"><input type="text" class="input-text" name="setconfig[upload_url]" id="upload_url" size="50" value="<?php echo $upload_url?>" /></td></tr>复制代码在其后加入:<tr><th width="120"><?php echo L('setting_skin_js')?></th><td class="y-bg"><input type="text" class="input-text" name="setconfig[skin_js]" id="skin_js" size="50" value="<?php echo $skin_js?>" /></td></tr><tr><th width="120"><?php echo L('setting_skin_css')?></th><td class="y-bg"><input type="text" class="input-text" name="setconfig[skin_css]" id="skin_css" size="50" value="<?php echo $skin_css?>" /></td></tr><tr><th width="120"><?php echo L('setting_skin_img')?></th><td class="y-bg"><input type="text" class="input-text" name="setconfig[skin_img]" id="skin_img" size="50" value="<?php echo $skin_img?>" /></td></tr>复制代码第二步:打开phpcms\modules\admin\functions\global.func.php搜索:if(in_array($k,array('js_path','css_path','img_path','attachment_stat','admin_log','gzip','err orlog','phpsso','phpsso_appid','phpsso_api_url','phpsso_auth_key','phpsso_version','conne ct_enable', 'upload_url','sina_akey', 'sina_skey', 'snda_enable', 'snda_status', 'snda_akey', 'snda_skey', 'qq_akey', 'qq_skey'))) {复制代码改为(也就是添加了'skin_js','skin_css','skin_img',):if(in_array($k,array('js_path','css_path','img_path','skin_js','skin_css','skin_img','attachme nt_stat','admin_log','gzip','errorlog','phpsso','phpsso_appid','phpsso_api_url','phpsso_auth _key','phpsso_version','connect_enable', 'upload_url','sina_akey', 'sina_skey', 'snda_enable', 'snda_status', 'snda_akey', 'snda_skey', 'qq_akey', 'qq_skey'))) {复制代码第三步:打开phpcms\languages\zh-cn\ng.php搜索:$LANG['setting_upload_url'] = '附件URL访问路径';复制代码在其后加入:$LANG['setting_skin_img'] = '模板图片路径';$LANG['setting_skin_js'] = '模板JS路径';$LANG['setting_skin_css'] = '模板CSS路径';复制代码第四步:打开phpcms\base.php搜索:define('APP_PATH',pc_base::load_config('system','app_path'));复制代码在其后加入://模板js、css、img路径define('SKIN_JS',pc_base::load_config('system','skin_js'));define('SKIN_CSS',pc_base::load_config('system','skin_css'));define('SKIN_IMG',pc_base::load_config('system','skin_img'));2、分类信息列表页怎样实现各个栏目的各自的内容function structure_filters_sql($modelid,$cityid='',$catid) { //这里加上$catid $sql = $fieldname = $min = $max = '';$fieldvalue = array();$modelid = intval($modelid);$model = getcache('model','commons');$fields = getcache('model_field_'.$modelid,'model');$fields_key = array_keys($fields);//TODO$sql = "`status` = 99 AND `catid`='$catid'"; //这里也加上,单引变双引你有木有看见,99的反斜杠也不见if(intval($cityid)!=0) $sql .= ' AND `city`=\''.$cityid.'\'';foreach ($_GET as $k=>$r) {if(in_array($k,$fields_key) && intval($r)!=0 && ($fields[$k]['filtertype'] || $fields[$k]['rangetype'])) {if($fields[$k]['formtype'] == 'linkage') {$datas = getcache($fields[$k]['linkageid'],'linkage');$infos = $datas['data'];if($infos[$r]['arrchildid']) {$sql .= ' AND `'.$k.'` in('.$infos[$r]['arrchildid'].')';}} elseif($fields[$k]['rangetype']) {if(is_numeric($r)) {$sql .=" AND `$k` = '$r'";} else {$fieldvalue = explode('_',$r);$min = intval($fieldvalue[0]);$max = $fieldvalue[1] ? intval($fieldvalue[1]) : 999999;$sql .=" AND `$k` >= '$min' AND `$k` < '$max'";}} elseif($fields[$k]['boxtype']=='checkbox' || $fields[$k]['boxtype']=='multiple'){ //这里也改啦$sql .= " AND `$k` LIKE '%,$r,%'"; //为的是复选或多选的筛选} else {$sql .=" AND `$k` = '$r'";}}}return $sql;}复制代码前台调用就要改写了,如下:{php $sql = structure_filters_sql($modelid,$cityid,$catid)}还有,你不要手欠,把pc标签里catid="$catid"去掉,会出事的吆3、修复站群模式下子站点【栏目页】【内容页】采用动态页面时候url 由于APP_PATH 问题导致的内容页url 域名错误指向主站问题问题由来:原小波方案无效,请大家测试/forum.php?mod=viewthread&tid= 270400&highlight=%D5%BE%C8%BA我的修复如下:一、首先修复站群模式下子站点【栏目页】采用动态页面时候url 由于APP_PATH 问题导致的内容页url 域名错误指向主站问题(1.)打开phpcms\modules\admin\category.php找到函数repair436 行注释掉://$url = $this->update_url($catid);//$url = APP_PATH.$url;再下面添加代码://txb 修复站群模式下【栏目页】动态页面时候url 由于APP_PATH 问题导致的内容页url 域名错误问题本帖隐藏的内容$url = $this->update_url($catid);//cat 数组在前面foreach 处定义$txbsiteid=$cat['siteid'];$this->sitedb = pc_base::load_model('site_model');$siteinfo=$this->sitedb->get_one(array('siteid'=>$txbsiteid));$url = $siteinfo['domain'].$url;二、首先修复站群模式下子站点【内容页】采用动态页面时候url 由于APP_PATH 问题导致的内容页url 域名错误指向主站问题(1)、首先打开phpcms\modules\content\classes\url.class.php找到函数show()在91行左右注释掉原代码://txb 此处为原来代码,注释掉换成新修改的!// $url_arr[0] = $url_arr[1] = APP_PATH.$urls;在其下添加//txb 修复站群模式下【内容页】动态页面时候url 由于APP_PATH 问题导致的内容页url 域名错误问题本帖隐藏的内容//txb $category 数组入口处定义,已经获得某栏目siteid$txbsiteid=$category['siteid'];$this->sitedb = pc_base::load_model('site_model');$siteinfo=$this->sitedb->get_one(array('siteid'=>$txbsiteid));$url_arr[0] = $url_arr[1] = $siteinfo['domain'].$urls;最后在绑定的二级域名的根目录下加上index.php文件其内容是:(绑定的二级域名的目录在网站的根目录下)<?phpinclude '../index.php';?>或者是:(绑定的二级域名的目录在网站的默认html文件夹下的文件夹下)<?phpinclude '../../index.php';?>西部数码服务器学习链接:/faq/list.asp?unid=514。
《深入理解PHPCMS V9的用户手册》一、引言在当今信息爆炸的时代,全球信息湾建设已经成为每个企业和个人必不可少的一项工作。
而对于大部分非专业程序员来说,一个好用且功能强大的内容管理系统(CMS)至关重要。
PHPCMS V9作为一款知名的开源CMS系统,其用户手册更是成为了每一个使用者和开发者的必备工具。
本文将深入探讨PHPCMS V9用户手册,带您了解其功能、使用和优势。
二、PHPCMS V9用户手册的基本介绍1. PHPCMS V9是一款什么样的CMS?在介绍用户手册之前,我们首先要了解PHPCMS V9是一款什么样的CMS。
PHPCMS V9是一款完全开源的内容管理系统,具有优秀的模块化、多语言支持、强大的扩展性等特点,适用于各类全球信息湾建设。
2. 用户手册的作用和意义用户手册是PHPCMS V9的必备工具之一,它提供了全面的使用指南和技术支持,帮助用户更好地了解和使用PHPCMS V9。
用户手册不仅提供了基本的功能介绍,还详细说明了各项功能的操作方法和注意事项,对于新手来说,用户手册更是一个不可或缺的学习资料。
三、深度解析PHPCMS V9用户手册1. 用户手册的内容和结构用户手册中包含了丰富的内容,涵盖了PHPCMS V9的各个方面,如安装指南、使用教程、常见问题解答等。
而其结构清晰,内容丰富,非常适合用户快速查阅和学习。
2. 使用技巧和注意事项用户手册中不仅提供了基本的使用教程,还深入介绍了一些使用技巧和注意事项。
这些内容对于用户更深入地了解和熟练掌握PHPCMS V9至关重要。
3. 个性化定制和扩展功能PHPCMS V9用户手册还详细介绍了个性化定制和扩展功能的方法和技巧,帮助用户根据自己的需求对CMS进行定制和扩展,满足不同全球信息湾的需求。
四、总结和展望通过本文的详细介绍,相信您对PHPCMS V9用户手册已经有了更深入的了解。
用户手册作为使用者和开发者的得力助手,能帮助您更好地了解和使用PHPCMS V9,提高全球信息湾建设的效率和质量。
Phpcms v9管理会员模型详细介绍
✓出处:站长百科
✓原文地址:/wiki/Phpcms_v9/管理会员模型
✓本电子书整理自站长百科Phpcms_v9/管理会员模型词条,查看内容请访问网站。
好消息:Lunarpages推新优惠码:lun50off所有方案减50美元
位置:用户 > 会员模型管理 > 管理会员模型 >
会员模型说明:会员模型,可以让用户自由定义不同会员模型,如(企业会员,高级会员)通过定义多个会员模型可以更好的管理我们的系统
一、添加会员模型
二、管理会员模型
✓出处:站长百科
✓ 出处:站长百科
A.模型修改
模型添加成功,将不能修改对应数据表名。
B.
模型自定义字段管理
可以添加,修改,禁用自定义的模型字段
b.1 添加自定义字段
字段类型:已经内置多种字段类型,选择使用即可!
b.2 修改自定义字段
✓出处:站长百科
b.3 禁止、删除自定义字段
C.模型导出
D.移动模型会员
✓出处:站长百科
✓出处:站长百科。