PHPCMS V9模板制作教程
PHPCMSV9二次开发教程
PHPCMSV9二次开发教程一、环境搭建在开始二次开发之前,我们需要先搭建PHPCMSV9的开发环境。
首先需要确保服务器满足以下要求:1.PHP版本必须大于等于5.3,推荐使用PHP7以上的版本;2.MySQL数据库版本必须大于等于5.0;3. 服务器需要支持.htaccess文件;4.需要安装PDO扩展、GD库等必要的PHP扩展。
二、模块开发1. 创建一个新模块:在PHPCMS的根目录下,找到“phpsso\modules”目录,复制一份现有的模块文件夹作为新模块的基础文件夹。
修改新文件夹的名称,并进入该文件夹修改其中的文件名和文件内容,包括模板文件、数据表定义文件等。
2. 注册新模块:打开“phpsso\modules\example\config.inc.php”文件,将新模块的相关信息注册到该文件中,包括模块的名称、文件夹名称、访问地址等。
3.开发模块功能:在新模块的文件夹中,开发相应的功能模块,包括控制器、模型、视图等。
可以使用PHPCMS提供的API来调用系统的功能和数据。
4. 配置模块权限:在“phpsso\modules\example\config.inc.php”文件中,为新模块配置相应的权限,以控制用户对该模块的操作权限。
5.安装新模块:在后台管理界面中,找到“系统设置->模块管理”菜单,点击“添加新模块”按钮,输入新模块的名称和文件夹名称,点击“保存”按钮即可安装新模块。
三、插件开发除了模块开发,PHPCMSV9还支持插件开发,插件是一种用于扩展系统功能的方式,可以独立于模块之外进行开发和安装。
以下是一个简单的插件开发教程:1. 创建一个新插件:在PHPCMS的根目录下,找到“phpsso\plugins”目录,复制一份现有的插件文件夹作为新插件的基础文件夹。
修改新文件夹的名称,并进入该文件夹修改其中的文件名和文件内容,包括插件入口文件、配置文件等。
2. 注册新插件:打开“phpsso\plugins\example\config.inc.php”文件,将新插件的相关信息注册到该文件中,包括插件的名称、文件夹名称、入口文件等。
phpcms_v9中模板标签说明
[摘要]本文介绍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" 主要用于列表等。
PHPCMSV9模板制作
PHPCMSV9模板制作PHPcms是一款基于PHP语言开发的内容管理系统,V9版本是其最新发布的版本。
在PHPCMS V9中,模板制作是非常重要的一部分,因为它决定了网站的外观和用户体验。
接下来,我将为您介绍如何进行PHPCMS V9模板制作。
首先,要进行PHPCMSV9模板制作,需要了解HTML和CSS基础知识以及对PHPCMS的了解。
如果您对这些方面还不太熟悉,建议您先学习相关内容。
接下来,我们来看一下PHPCMS V9模板的文件结构和制作流程。
PHPCMS V9的默认模板文件位于 `template/default` 目录下,我们可以在此目录下创建一个新的文件夹,作为我们自定义的模板文件夹。
在新建的模板文件夹中,我们需要创建一些必要的文件和目录。
首先,创建一个 `index.html` 文件,用来作为网站首页的模板。
然后,在模板文件夹中创建一个 `style.css` 文件,用来定义样式。
最后,创建一个`header.html` 文件和一个 `footer.html` 文件,用来分别作为网站的页眉和页脚的模板。
接下来,我们可以开始进行具体的模板制作工作了。
首先,打开`index.html` 文件,在其中编写HTML代码,构建网站的整体结构,包括头部、导航、内容区域和页脚等。
然后,在 `style.css` 文件中编写CSS代码,定义网站的样式,如文字颜色、背景颜色、边框样式等。
您可以通过查看PHPCMS V9默认模板文件中的CSS代码了解其样式设置方法,然后根据您自己的需求进行修改和定制。
接下来,我们可以在 `header.html` 文件中编写HTML代码,定义网站的页眉部分的内容。
一般来说,页眉包括网站的logo、导航菜单等。
您可以根据自己的需要进行设计和布局。
在完成上述的模板制作工作后,我们需要将这些模板文件应用到PHPCMS V9的实际网站中。
首先,将制作好的模板文件夹拷贝到PHPCMS V9的 `template` 目录下。
PHPCMS 模板制作教程 黑夜之舞出品
<input type="hidden" name="cookietime" value=""/>
</head>
<body onload="menu_selected({php echo $catid ? $catid : $mod;})"> ቤተ መጻሕፍቲ ባይዱ
<div id="top">
{if isset($MODULE[search])}
{php $types = cache_read(search_typephp);}
<link rel="alternate" type="application/rss+xml" title="{$head[title]}" href="/rssphp?rssid={$catid}" />
/*读取网页标题*/
<script language="JavaScript" src="data/configjs"></script>
<script language="JavaScript" src="images/js/loginjs"></script>
phpcms v9怎么利用双模板制作PC站与移动站
随着智能手机日益发展,人们上网不再追求电脑上网,手机浏览网页超过电脑必成大势,故移动站制作已非常重要。
目前各大CMS都附带着手机门户功能,但往往功能不全,毕竟很多都是免费使用。
下面说说phpcms v9同一系统如何利用双模板制作电脑站及移动站,本文参考网上资料加以整理。
最后得出功能是PC站与移动站共用一个数据库,做到内容发布同步,通过伪原创得出PC站网址与移动站网址一一对应,比如如:对,只是网址头部不同,并且通过判断用手机浏览网站时自动跳动到移动站网址及模板,每个网址一一对应跳转。
表达能力有限,越说我都越糊涂了,下面一点点修改吧第一步:网址解析绑定三个网址:、、。
第二步:做网址伪原创栏目伪原创后网址如:/list-1-1.html,内容页网址:/show-1-1-1.html。
对应移动站网址:栏目伪原创后网址如:/list-1-1.html,内容页网址:/show-1-1-1.html。
至于怎么伪原创不是本文的重点,不会伪原创另外讨论。
第三步:修改phpcms/modules/content/index.php。
在31行处找到includetemplate('content','index',$default_style);修改为:if(substr($_SERVER['SERVER_NAME'], 0,1) == 'm'){include template('content_m','index',$default_style);}else{include template('content','index',$default_style);}分别在203、265、278行处把include template('content',$template);修改为:if(substr($_SERVER['SERVER_NAME'], 0,1) == 'm'){include template('content_m',$template);}else{include template('content',$template);}意思是,当域名头部为m时选择 content_m文件夹里的模板,www时选择content文件夹的模板。
PHPCMS V9模型二次开发[高级]_2
PHPCMS v9模型二次开发[高级]概述:PHPCMS v9模型二次开发主要分为底层模型开发,即代码级的模型开发;其次,是可视化的模型开发,即通过登录系统后台添加模型。
第一种模型开发对技术要求很高,但是,能实现很多PHPCMS v9没有实现或者不能实现的功能。
第二种模型开发完全隐藏了技术的实现,操作简单,使用方便,在没有特殊功能的时候,这个是首先。
我们今天先讲第二种,可视化的模型开发。
假如,现在我们有一个产品展示功能。
要显示的信息如下:*)产品名称*)产品价格*)出厂时间*)规格参数*)配件列表*)产品图片然后,PHPCMS v9提供的文章模型、图片模型、下载模型根本不能满足我们的这个需求。
此时,我们就会涉及到添加模型的操作。
1、登录系统后台,进入导航“内容”----》"管理模型"然后,在页面的右边找到“添加模型”,点击进入添加模型:模型名称必须填写,当我们在添加栏目的时候就可以选择以这个名称命名的模型了。
模型表键名也必须填写,这个将会在数据库里面有二张表对应,假设此时的表前缀是:v9_则对应的两张表名为:v9_products、v9_products_data2、点击确定创建好自定义的“产品模型”之后,点击“字段管理”点击“字段管理”之后,在弹出的页面里面进行字段的禁用、删除、添加等操作。
比如:添加产品名称、产品价格、产品规格、出厂时间等字段。
删除:阅读收费、允许评论、分页方式、相关文章等字段。
禁用:关键词、推荐位等字段。
删除字段与禁用字段都很方便快捷,现在来谈谈添加字段。
在点击“字段管理”进入页面后,左上角会有一个“添加字段”的功能。
点击“添加字段”进入页面。
如图:我们以添加一个是否显示产品的功能字段,那么在字段类型那里可以选择“选项”;由于,我们会经常使用这个字段进行查询,所以,我们在“作为主表字段”设置为是;字段名设置为isshows,这个地方的字段名对应表中的v9_products表中的字段,添加字段完成之后,可以在这个表中看得出来。
PHPCMSV9模板制作教程
PHPCMSV9模板制作教程第一步:准备工作在开始制作模板之前,首先需要确保已经安装好PHPCMSV9,并具备运行环境和数据库。
另外,还需要准备一个项目文件夹用于存放模板相关的文件。
第二步:创建模板文件在项目文件夹中创建一个文件夹,用来存放模板相关的文件。
一般情况下,我们可以以网站的名称或主题来命名该文件夹,方便后续的管理和维护。
在模板文件夹中,创建一个index.html文件作为模板的首页。
此外,还可以根据需求创建其他页面,如列表页、详情页等。
第三步:编写HTML代码第四步:优化CSS样式在HTML中,可以直接使用内联的CSS样式来修改页面的样式,但为了便于管理和维护,通常会将样式单独写在一个CSS文件中。
可以在模板文件夹中创建一个style.css文件,并在HTML中引入该文件。
CSS样式可以通过选择器来选择页面中的元素,并进行样式的定义。
通过合理地使用CSS样式,可以美化页面,提高用户体验。
第五步:添加JavaScript交互如果需要在页面中添加一些交互功能,如菜单导航、轮播图等,可以使用JavaScript来实现。
在模板文件夹中创建一个script.js文件,并在HTML中引入该文件。
通过JavaScript的编写,可以实现一些功能,比如点击菜单导航切换页面内容、轮播图自动切换等。
第六步:配置模板信息第七步:前台绑定数据在PHPCMSV9的后台管理页面,选择“内容管理”,点击“添加内容”,填写相应的栏目和内容信息。
第八步:测试和调试在完成以上步骤后,可以在浏览器中打开网站,并进行测试和调试。
确保模板的各个功能和页面能够正常运行,并在不同的终端上进行适配,以保证网站的稳定性和兼容性。
总结:。
PHPCMS模板网站制作
PHPCMS模板网站制作Phpcms由内容模型、会员、在线充值、全站搜索、评论、专题、新闻心情、短消息、投票、友情链接、公告、附件管理、数据源模块、广告、采集、表单向导、手机门户等模块等20多个功能模块组成。
Phpcms 采用模块化开发,支持自定义内容模型和会员模型,并且可以自定义字段,在系统内置的文章、图片、下载内容模型基础上可非常方便的扩展出信息、房产、交友、点评等功能。
所以利用Phpcms可以很轻松的搭建行业门户、地方门户、企业网站、资讯网站等各类型网站。
今天小编给大家带来利用Phpcms v9搭建一个名称为“ChinaZ 源码测试网站”的资讯类网站的基础教程:(因排版原因,全文的图片点击查看大图。
)一、环境准备1、本机调试本机调试的话最简单的方法就是使用一键环境套件,只需下载安装即可,软件会自动配置好Phpcms需要的环境。
如果想自己手动一步一步配置服务器+PHP+Mysql环境则可以参考这两篇文章:Windows 2000/xp/2003 IIS+PHP安装图文教程和 windows下安装apache+php+mysql 。
一键环境套件:Pc_webserver服务器套件 (官方推荐)、XAMPP、Zend Server、PHPnow、APMserv2、虚拟空间如果是购买虚拟空间来放phpcms v9的网站,则要选择支持PHP 5.2.0及以上,支持Mysql 数据库,以及开启MYSQL扩展等若干扩展(详见下文安装步骤第二步)。
空间商都会在虚拟空间产品处说明空间的参数,选择适合的即可。
二、下载安装下载:Phpcms v9 GBK版:/soft/28179.htmPhpcms v9 UTF-8版:/soft/28180.htm安装步骤:下载完成后,解压得到两个文件夹,将install_package文件夹内的文件上传到网站根目录,打开http://你的域名/install/index.php即可看到安装界面。
phpcmsv9不用插件打造留言板,而是用表单向导模块和dialog
不用插件打造意见反馈(留言板),先给个图:表单向导+dialog一、表单向导1.登陆Phpcmsv9后台/index.php?m=admin2.模块》模块管理》表单向导》添加表单向导1)名称::意见反馈(请输入表单向导名称) 2)表名:message(请填写表名)3)简介:(这个可以不填)4)下三个可以不用改5)允许游客提交表单:要选是7)模板选择:这个你一定要提前做好模板,比如我的是show_box.html,这里要注意模板命名要以show_开头8)js调用使用的模板:这里不做介绍,可以不理它了。
3,下面,确定。
如果图功能如下:1)信息列表:用来查看留言信息,现在不用2)添加字段:主要用这个,我们要添加三个字段分别是留言标题(title),联系邮箱(email),留言内容(content)添加:字段---字段类型:----字段类型----字段别名----数据校验正则(这个的话看你自己的需求来用)其他的可以不写最后》提交三、模板找到phpcms\templates\default\formguide新建模板show_box.html<style>#postsite #Article .content{padding:40px;}.input-text{width:300px;padding:8px;margin:0; outline:none;border:1px solid #aaa;}.input-text:hover,.input-text:focus,.content #description:hover,.content#description:focus{border-color:#34a950}.content th{ font-size:14px;color:#444; text-align:left;height:50px;}.content th font{ color:#34a950}.content th.text{ text-indent:1em;}.content #description,.content#content{width:300px;height:80px;outline:none;padding:8px;line-height:1.6em;margin-top:5px;} .content .btn input{width:80px;height:36px;text-align:center;background:#34a950;color:#fff;border:0;margin-right:20px; cursor:pointer;}.content .btn input:hover{background:#168D33}.content .btn{margin-left:107px;overflow:hidden;margin-top:20px;}#showmessagebox{ text-align:center;margin-top:100px;}</style><script language="javascript" type="text/javascript" src="{JS_PATH}dialog.js"></script><div class="main" id="postsite"><div id="Article"><div class="content"><form method="post"action="?m=formguide&c=index&a=show&formid={$formid}&siteid=<?php echo$this->siteid;?>" name="myform" id="myform"><table class="table_form" width="100%" cellspacing="0"><tbody>{loop $forminfos_data $field $info}{if $info['formtype']=='omnipotent'}{loop $forminfos_data $_fm $_fm_value}{if $_fm_value['iscomnipotent']}{php $info['form'] =str_replace('{'.$_fm.'}',$_fm_value['form'],$info['form']);}{/if}{/loop}{/if}<tr><th width="25%" class="text">{$info['name']}{if $info['star']}<font>*</font>{/if}</th><td width="75%">{$info['form']} {$info['tips']}</td></tr>{/loop}</tbody></table><div class="btn"><input type="submit" name="dosubmit" id="dosubmit" value=" 提交"> <input type="reset" value=" 重写"></div></form></div></div></div>再建两个提示的新模板Ok.html,<div class="showmessagebox" style="text-align:center;margin-top:100px;color:#444;"><h2>您已经提交,再次感谢谢您的支持!</h2><br/><a class="back" target="_blank" href="{APP_PATH}"style="margin-top:20px;font-size:12px;color:#666;">返回首页</a></div>'Success.html<div class="showmessagebox" style="text-align:center;margin-top:100px;color:#444;"><h2>提交成功,谢谢您的支持!</h2><br/><a class="back" target="_blank" href="{APP_PATH}"style="margin-top:20px;font-size:12px;color:#666;">返回首页</a></div>找到phpcms\modules\formguide下面的index.php找出提示showmessage()46行:改为$_GET['action'] ? exit : showmessage(L('form_expired'),APP_PATH.'index.php?m=formguide&c=index&a=ok');79行:改为showmessage(L('thanks'),APP_PA TH.'index.php?m=formguide&c=index&a=success');97行:改为$_GET['action'] ? exit : showmessage(L('had_participate'),APP_PATH.'index.php?m=formguide&c=index&a=ok');116行:后页面加上public function ok() {include template('formguide', 'ok');}public function success() {include template('formguide', 'success');}这就是对应的两个提示Dialog四.在首页(调用页)加上<head>与</head>之间Js代码<script language="javascript" type="text/javascript"src="{JS_PATH}dialog.js"></script>Css代码<link href="{CSS_PATH}dialog.css" rel="stylesheet" type="text/css" />(这是phpcmsv9自带的,不建议修改)<link href="{CSS_PATH}/mydialog.css" rel="stylesheet" type="text/css" />(自定义,用来重写它的样式,要放在dialog.css下面)要调用的地方<ahref="javascript:art.dialog({id:'message',iframe:'?m=formguide&c=index&a=show&formi d=16&siteid=1', title:'意见反馈', width:'540', height:'360',drag: false,fixed: true,opacity: .5, lock:true});void(0);"><span>意见反馈</span></a>如要了解更多dialog.js请打1872行有默认配置,参考来填定参数。
phpcmsv9二次开发模板制作常用代码
phpcmsv9二次开发模板制作常用代码phpcms v9二次开发模板制作常用代码001:调用最新文章,带所在版块{pc:get sql="SELECT a.title, a.catid, b.catid, b.catname, a.url as turl ,b.url as curl,a.id FROM `v9_news` a, `v9_category` b WHERE a.catid =b.catid ORDER BY `a`.`id` DESC "num="15" cache="300"}{loop $data $r}<h6><font class="cate"><a href="{$r[curl]}">[{$r[catname]}]</a></font><aclass="gray" href="{$r[turl]}" title="{$r[title]}"> {str_cut($r['title'],26)}</a></h6>{/loop}{/pc}====<font class="cate"><a href="{$r[curl]}">[{$r[catname]}]</a></font>所在版块的调用1.截取调用标题长度{str_cut($v[title],36,'')}{str_cut($v['title'],34)} 超出用 ... 代替{str_cut($v['title'],34, '')}超出用代替{str_cut($v['title'],34,'')}超出不用任何字符代替2.格式化时间调用格式化时间 2011-05-06 11:22:33{date('Y-m-d H:i:s',$r[inputtime])}<span class="rt">{date('m-d',$v['inputtime'])}</span>3.多栏目调用&多推荐位调用调用需求:文章范围为59 60 61三个栏目,并且推送到了27 和28两个推荐位;从第三条开始,连续调用7篇文章。
PHPCMSV9模板制作
PHPCMSV9模板制作PHPCMSV9是一种功能强大、灵活性高的内容管理系统,它提供了丰富的模板制作功能,帮助网站管理员快速、便捷地定制自己的网站外观。
本文将介绍PHPCMSV9模板制作的步骤和注意事项,帮助读者更好地运用这一功能。
一、准备工作在开始制作PHPCMSV9模板之前,我们需要准备以下工作:1. PHPCMSV9系统及其模板文件:确保已经安装了PHPCMSV9系统,并且了解系统文件的组织结构。
2. 文件编辑工具:选择一款功能强大、易于使用的代码编辑器,如Sublime Text、Notepad++等。
二、制作模板的基本步骤1. 创建模板文件夹:在PHPCMSV9的“template”目录下,创建一个新的文件夹,用于存放我们制作的模板文件。
2. 编写模板文件:在新建的文件夹中,创建HTML文件,并使用编辑器编写模板内容。
在编写过程中,可以使用PHPCMSV9提供的标签和变量来实现动态内容的显示。
3. 嵌入CSS和JavaScript:在模板文件中,引入所需的CSS和JavaScript文件,以实现网站的样式和交互效果。
4. 定义模板变量:利用PHPCMSV9的模板标签,定义我们需要的模板变量,并在模板中调用这些变量,以显示动态内容。
5. 模板调用:在PHPCMSV9后台管理界面的“模板管理”模块中,选择我们制作的模板并设置为默认模板。
三、注意事项在制作PHPCMSV9模板的过程中,有一些注意事项需要我们特别关注:1. 布局设计:合理的页面布局能够提升用户体验,确保网站的可读性和导航的便捷性。
2. 兼容性考虑:不同浏览器对CSS和JavaScript的解析有所不同,因此要确保模板在主流浏览器中的兼容性。
3. 速度优化:合理地压缩和合并CSS和JavaScript文件,以减少文件大小和请求次数,提升网站的加载速度。
4. SEO优化:使用语义化的HTML标签和适当的meta标签,以优化网站在搜索引擎中的排名。
phpcms v9模板代码解析-首页
phpcms v9模板解析
首先来到content模块下面的header.html
1.首页顶部推荐位
对于content下面的position
参数名是否必须默认值说明
posid 是null 推荐位ID
catid 否null 调用栏目ID
thumb 否0 是否仅必须缩略图
order 否null 排序类型
num 是null 数据调用数量
相关查询
Posid 后台-内容-推荐位管理
Catid 后台-内容-栏目管理
2.在分类下面进行查询
这里是取缓存文件里面的东西,具体这个怎么生成的缓存,和专题,研究中?
3.下面是首页导航的代码
对于category
参数名是否必须默认值说明
catid 否0 调用该栏目下的所有栏目,默认0,调用一级栏目$siteid 否 1 默认调用系统站点
order 否null 排序方式、一般按照listorder ASC排序,即栏目的添加顺序如果要使用下级标签,使用get标签调用数据库调出
4.首页左侧头条推荐推荐信息
对应源代码
这个解释和position 一样这里就不多说了
5.首页焦点图推荐
6.下面看到争议这一块
首先找到他的标签
7.首页图片新闻推荐
8.首页顶级栏目循环
这里的代码为
这里的含义是显示一条图文浏览的,显示5条依次下来的信息其中subcat为系统主函数下面的
这里面主要是找缓存文件,其实后台更新栏目后也随即更新了缓存文件9.公告
10.订阅
11.专题页面
这里的elite为是否为推荐
12热点、评论、关注
13.调查问卷,这是后台调用的js文件
14.友情链接。
模板配置教程:Phpcmsv9怎么更换模板
模板配置教程:Phpcmsv9怎么更换模板
先分享下⼤概的步骤:
1、上传模版⽂件到服务器;
2、在站点管理⾥边【模板风格配置】选择新模板;
3、设置不同模型对应模板;
4、修改现有的栏⽬,匹配新模板;
5、更新栏⽬缓存、系统缓存,更新HTML静态页。
下⾯分享⼀组配图:
⼀、上传模版⽂件夹到phpcms/templates/⽬录下,并命好⽂件的名,⽐如为cmsyou。
对应的CSS⽂件夹放到对应位置(具体按模板要求)。
通过FTP,上传模版⽂件夹
在后台界⾯⾥边可以看到新上传的模板
⼆、找到菜单:设置》站点管理》默认站点,点修改,在【模板风格配置】⾥边选择cmsyou这个模板。
站点设置⾥边,选择新的模板并确认提交
三、不同模型设置不同的模板:到内容》模型管理,修改⽂章、图⽚等模型,选择新建的cmsyou这个名称的模板风格,这样设置的好处:新建的栏⽬会⾃动对应上相应模型的模板。
在模型设置⾥边,选择对应的模板
四、返回到内容》栏⽬管理,修改现有的栏⽬,选择对应的模板(新建的模板直接选择就好)。
修改栏⽬属性,为栏⽬选择对应的模板
五、更新栏⽬缓存和系统缓存,如果⽣成了静态页⾯,那么需要更新HTML静态页,这样就切换成功了。
在CMSYOU团队⾥边,我们把这三项叫做【更新HTML】
有不尽或者说的不够详细的地⽅,可以到这个页⾯问答探讨。
phpcms v9教程课件 一
PHPCMS 项目部 王官庆制作
PHPCMS网络培训课程 --- 系统设置篇
支持分布式部署,独立网站、独立数据库、独立服务器 V9 系统内置发布点功能和站点设置,可将各子站点分配到不同的服务器上,轻松实现服务器集群部 署。通过V9数据模型功能,允许用户把不同的数据表,分离到不同的数据库服务器上。以实现负载的 分离,更加符合大访问量网站的需求。为用户提供更好的用户体验。
PHPCMS 使用指南及二次开发向导 --- 系统设置篇
PHPCMS网络培训课程 --- 系统设置篇
• 系统相关设置
1. 站点管理 2. 发布点管理 3. 系统其它设置
• 管理员设置
1. 角色定义 2. 管理员管理
PHPCMS 项目部 王官庆制作
PHPCMS网络培训课程 --- 系统设置篇
PHPCMS网络培训课程 --- 系统设置篇
添加发布点 添加发布点时,按规定配置FTP相关信息,如下图所示:
PHPCMS 项目部 王官庆制作
PHPCMS网络培训课程 --- 系统设置篇
信息推送到发布点 当添加站点时,指定发布点。那么在 内容 管理项,即可将站点信息同步推送到配置的发布点服务器 上,如下图所示:
站点配置,选择发布点
信息同步到发布点
PHPCMS 项目部 王官庆制作
PHPCMS网络培训课程 --- 系统设置篇
系统其它设置
其它几项设置都比较简单,重点是phpsso 与 盛大链接需加注意。
端与PHPSSO PHPSSO的整合配置 V9 端与PHPSSO的整合配置
PHPCMS 项目部 系统设置篇
角色权限设置之 - 栏目权限 例如:为 主编 设置 互联网 和 下载 的栏目权限,属于该角色的管理员登陆后也只能管理这二个栏目 如下图所示:
PHPCMS_v9.模块【标签】参考手册.(第一版)
1、内容模块 PC 标签调用接口.............................................................22 2、action 值列表.....................................................................................22
当网页中出现两个 PC 标签时,可能会使得没有闭合的 PC 标签之后的 PC 标签数据和其混乱。 在后台可视化编辑时,可能出现网页结构错乱的问题。
2、PC 标签分析:
PC 标签中{pc:}冒号之后跟随的为模块名。如上面的例子中调用的是内容模型的 PC 标签。 action="list" 这个形式所代表的是参数。每一个 PHPCMS V9 模型都为其 PC 标签定义了调用的参数。其中有一些 调用参数是系统保留的参数,其对所有的 PC 标签都是有效的。
一、内容模块
很厚搜索 -
答:DB 答:must 答:only 答: 答:
1、内容模块 PC 标签调用接口
模块名称:content 即以 {pc:content …}…{/pc} 的方式进行调用
2.1、投票列表(lists):.................................................................................25
很厚网络 - 中国搜索引擎的后起之秀
第 2页 共 26页
前言
很厚搜索 -
二、友情链接模块............................................................................... 20
PHPCMS二次开发教程——模块设计(实例附数据库设计)
PHPCMS二次开发流程(实例)如下图是官方文档给出的phpcms二次开发的流程:本文以创建一个答题模块为实例,进行逐一讲解。
创建数据库和数据表:本模块是在phpcms v9框架上开发的,但不使用phpcms数据库,例如这里我新建一个数据库,名为:yixin,所有表默认前缀yx_。
新建表:yx_user表yx_user栏目名称字段名类型可否为空说明用户编号userid int N 主键、AI 用户名username varchar(20) N用户密码password varchar(32) N用户昵称nickname varchar(20) Ndatetime N注册时间regtime注册ip regip varchar(15) N上次登录时间lasttime datetime N 默认为:0000-00-0000:00:00上次登录ip lastip varchar(15) N 默认:0 登录次数loginnum smallint N 默认:1 用户邮箱email varchar(32) N用户组类型groupid tinyint N用户状态status tinyint N 默认:1 用户答对题数rightnum smallint N 默认:0 用户真实姓名realname varchar(50) Y 默认:0CREATE TABLE`yx_user`(`userid`INT(11)NOT NULL AUTO_INCREMENT,`username`VARCHAR(20)NOT NULL,`password`VARCHAR(32)NOT NULL,`nickname`VARCHAR(20)NOT NULL,`regtime`DATETIME NOT NULL,`regip`VARCHAR(15)NOT NULL,`lasttime`DATETIME NOT NULL DEFAULT'0000-00-00 00:00:00',`lastip`VARCHAR(15)NOT NULL DEFAULT'0',`loginnum`SMALLINT(6)NOT NULL DEFAULT'1',`email`VARCHAR(32)NOT NULL,`groupid`TINYINT(4)NOT NULL,`status`TINYINT(4)NOT NULL DEFAULT'1',`realname`VARCHAR(50)NOT NULL DEFAULT'0',`rightnum`SMALLINT(6)NOT NULL DEFAULT'0',PRIMARY KEY(`userid`))ENGINE=MYISAM;新建表:yx_question表yx_question栏目名称字段名类型可否为空说明题目编号questionid int N 主键、AI题目内容content mediumtext N题集setid int N 默认为:0正确选项answer0 varchar(50) N错误选项1 answer1 varchar(50) N错误选项2 answer2 varchar(50) N错误选项3 answer3 varchar(50) N答案说明description varchar(50) Y 默认:0添加日期addtime datetime N出题人userid int N与yx_user表的userid关联审核人adminid int N 默认为:0,与yx_admin表的adminid关联审核时间verifytime datetime N题目状态status tinyint N 默认为:0CREATE TABLE`yx_question`(`questionid`INT(11)NOT NULL AUTO_INCREMENT,`content`MEDIUMTEXT NOT NULL,`setid`INT(11)NOT NULL DEFAULT'0',`answer`VARCHAR(50)NOT NULL,`answer1`VARCHAR(50)NOT NULL,`answer2`VARCHAR(50)NOT NULL,`answer3`VARCHAR(50)NOT NULL,`description`VARCHAR(50)NOT NULL DEFAULT'0',`addtime`DATETIME NOT NULL,`userid`INT(11)NOT NULL,`adminid`INT(11)NOT NULL DEFAULT'0',`verifytime`DATETIME NOT NULL DEFAULT'0000-00-00 00:00:00',`status`TINYINT(4)NOT NULL DEFAULT'0',PRIMARY KEY(`questionid`))ENGINE=MYISAM新建表:yx_question_set表yx_question_set栏目名称字段名类型可否为空说明题集编号setid int N 主键、AI 题集名称setname varchar(50) N题集描述description text N题集状态enabled tinyint(1) N 0:不可用;1:可用题集题数questionnum smallint N 默认:0CREATE TABLE`yx_question_set`(`setid`INT(11)NOT NULL AUTO_INCREMENT,`setname`VARCHAR(50)NOT NULL,`description`TEXT NOT NULL,`enabled`TINYINT(1)NOT NULL DEFAULT'0',`questionnum`SMALLINT(6)NOT NULL DEFAULT'0',PRIMARY KEY(`setid`))ENGINE=MYISAM新建表:yx_user_select_set表yx_user_select_set栏目名称字段名类型可否为空说明编号id int N 主键、AI 用户编号userid int N题集编号setid int NCREATE TABLE`yx_user_select_set`(`id`INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `userid`INT NOT NULL,`setid`INT NOT NULL)ENGINE=MYISAM;新建表:yx_user_answer_record表yx_user_answer_record栏目名称字段名类型可否为空说明记录编号id int N 主键、AI问题编号questionid int N 与yx_question表的questionid关联答题结果check tinyint N 0:错误;1:正确答题人userid int N 与yx_user表的userid关联答题时间answertime datetime NCREATE TABLE`yx_user_answer_record`(`id`INT NOT NULL AUTO_INCREMENT PRIMARY KEY,`questionid`INT NOT NULL,`check`TINYINT NOT NULL,`userid`INT NOT NULL,`answertime`DATETIME NOT NULL)ENGINE=MYISAM;新建表:yx_admin表yx_admin栏目名称字段名类型可否为空说明管理员编号adminid int N 主键、AI管理员名adminname varchar(20) N管理员密码password varchar(32) N管理员类型roleid smallint N 默认:0上次登录时间lasttime datetime N 默认:0000-00-0000:00:00 上次登录ip lastip varchar(15) N 默认:0管理员邮箱email varchar(40) N 默认:0管理员真实姓名realname varchar(50) NCREATE TABLE`yx_admin`(`adminid`INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `adminname`VARCHAR(20)NOT NULL,`password`VARCHAR(32)NOT NULL,`roleid`SMALLINT NOT NULL DEFAULT'0',`lasttime`DATETIME NOT NULL DEFAULT'0000-00-00',`lastip`VARCHAR(15)NOT NULL DEFAULT'0',`email`VARCHAR(40)NOT NULL DEFAULT'0',`realname`VARCHAR(50)NOT NULL)ENGINE=MYISAM;新建表:yx_admin_role表yx_admin_role栏目名称字段名类型可否为空说明类型编号roleid smallint N 主键、AI 类型名称rolename varchar(50) N类型描述description text N类型状态enabled tinyint(1) N 0:不可用;1:可用CREATE TABLE`yx_admin_role`(`roleid`INT NOT NULL AUTO_INCREMENT PRIMARY KEY,`rolename`VARCHAR(50)NOT NULL,`description`TEXT NOT NULL,`enabled`TINYINT(1)NOT NULL)ENGINE=MYISAM;创建模块目录:PHPCMS v9框架中的模块,位于phpcms/modules目录中每一个目录称之为一个模块,如果要创建一个模块,只要在phpcms/modules 目录下创建文件夹并放入你的控制器类就可以了。
Phpcmsv9开发留言板
Phpcmsv9开发留⾔板功能⽐较简单,写写为了记住这个过程。
新建⼀张数据表xx_gbook,有以下字段Id int(4) ⾃增长⾮空Name varchar(255) utf-8Phone int(20)Address varchar(255) utf-8Content text(500) utf-8Inputtime int(12)⼀、创建模块存放⽬录在/phpcms/modules/下创建⼀个⽂件夹gbook⽤来存放模块,gbook⽂件下包含三个⽂件夹,classes(模块类库包)、functions(模块函数类包)、templates(模版包,⼀般是后台模版)。
⼆、创建模块控制器类(注意:类名称与控制器⽂件名必须相同)、数据库模型类在gbook⽂件夹下新建⽂件gbook.php,前台不⽤权限控制,后台类要有权限控制,所以后台新建类要加载并继承admin,写法 pc_base::load_app_class('admin','admin',0); class gbook extends admin(){} 另外控制器的⽅法名不要和该类中的⽅法名⼀样数据库模型类,在/phpcms/model/⽬录下新建gbook_model.class.php⽂件⽤来加载xx_gbook 表。
附上我写的⼀个⼩例⼦Gbook_model.class.php <?php defined('IN_PHPCMS') or exit('No permission resources.');pc_base::load_sys_class('model','',0); //加载公⽤模型类class gbook_model extends model{ //创建新的数据模型类public function __construct(){$this->db_config = pc_base::load_config('database'); //数据库连接$this->db_setting = 'default'; //连接设置$this->table_name = 'gbook'; //数据表名parent::__construct();}}?>Gbook.php<?php defined('IN_PHPCMS') or exit('No permission resources.'); //判断是不是有控制器pc_base::load_app_class('admin','admin',0); //加载admin类class gbook extends admin{ //创建新类并继承admin的属性public function __construct(){$this->db_gbook =pc_base::load_model('gbook_model'); //加载数据库模型类}//默认列表显⽰留⾔public function init(){//分页设置$page = isset($_GET['page']) &&intval($_GET['page']) ? intval($_GET['page']) : 1;//分页条数$pageSize = 20;//查询语句$gbookList = $this->db_gbook->listinfo(array(),'inputtimeDESC',$page,$pageSize);//模版显⽰include $this-> admin_tpl("gbook_list");}//删除留⾔public function del(){//删除语句if ($this->db_gbook->delete(array('id'=>$_GET['id']))) {echo 1;}else{echo '';}}}?>Gbook_list.tpl.php <?php defined('IN_ADMIN') or exit('No permission resources.'); include $this->admin_tpl('header','admin');?> <div class="pad-10"> <div class="explain-col"> <?php echo "管理⼈员根据浏览者的留⾔,提取相关的信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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)中,对代码的优化也是一个很关键的步骤。