齐博x1频道的二次开发入门讲解
要进行频道的二次开发,首先我们要先了解一下频道的目录结构,如下图
最基本的几个目录
admin 后台文件存放目录
index 前台文件存放目录
member 会员中心存放目录
model 数据表模型目录
traits 会员中心与后台共用的一些方法
admin_menu.php 后台菜单
member_menu.php 会员中心菜单
config.php 配置文件
Info.php 暂时还没用到
上面是该频道的所有PHP文件,存放在\application\目录里的具体一个频道下面,比如\application\bbs,
而他的模板文件在另外一个目录,比如
\template\index_style\default\bbs\ 前台模板目录
\template\admin_style\default\bbs\ 后台模板目录
\template\member_style\default\bbs\ 会员中心模板目录
文件并不少,你没必要一个一个的创建, 推荐你进后台,频道管理那里,复制一个CMS出来二次开发比较省事.
如果你手工复制目录的话,需要把对应的关键字比如 \cms\ 批量替换为你当前频道的目录名
事实上,官方开发的那么多频道都是在后台复制CMS出来进行二次开发的.
这些频道的PHP文件里边的代码相当少. 那是因为他是继承了 核心里边的方法, 如果核心默认的方法满足使用了,就不需要做任何处理. 如果觉得不满足的话,就从核心文件那里把那个方法复制出来,重新修改
这一点跟V系列差别非常大. V系列的话,你可以直接找到那个文件进行修改. 而这里呢?需要你复制核心里边的方法过来进行修改.
所以对刚刚入门或者是不懂PHP的人来说,是有一点难度.
难度是增加了, 但是系统就变得非常灵活了, 核心升级,所有频道都跟着升级. 并且频道不需要写太多的代码. 不然的话, 就会出现太多雷同的方法代码, 会把整个系统搞得很臃肿。
X1的特点,也是难点,就是 所有模块都是继承核心系统里边的方法,
即模块的
后台文件会继承 \application\common\controller\admin\ 这里系统后台的方法代码
前台文件会继承 \application\common\controller\index\ 这里系统前台的方法代码
会员中心会继承 \application\common\controller\member\ 这里系统会员中心的方法代码
而系统里边的方法,又多次继续上一级或者引用
\application\common\traits\AddEditList.php
\application\common\traits\ModuleContent.php
这两个文件的方法.
所以就给初学者或者是不懂PHP的风格开发者带来一定的难度. 要修改某个地方,总是找不到文件代码.
而V系列是写在对应的文件里边的,所以就方便修改, 但带来的问题就是代码臃肿,升级不方便.
在这里的话,你要修改什么,需要往上级,上级找不到的话,就再往上级, 或者是往 \application\common\traits\ 里边的文件 , 找到对应的方法,复制到当前文件,再进行修改.
所以开发X1的话,用记事本类的工具phpeditplus就不是那么方便了. 最好就用 Zend Studio 他有提示当前,并且能准确指向到上级的文件对应的方法. 方便你查看,或者是复制过来修改
最后,还有最关键的一点,就是后台基本没有使用模板,
所以在开发的时候,必须要熟悉 自动表单器的生成原理, 教程如下:
https://www.kancloud.cn/php168/x1_of_qibo/705990
视频地址
http://v.youku.com/v_show/id_XMzg0MTIxNzg0MA==.html?spm=a2h3j.8428770.3416059.1
齐博x1频道的二次开发入门讲解的更多相关文章
- 齐博软件 著名的老牌CMS开源系统 X1.0基于thinkphp开发的高性能免费开源PHP开放平台齐博x1.0基于thinkphp框架开发的高性能免费开源系统 主推圈子 论坛 预定拼团分销商城模块
齐博X1--标签变量大全 1.网站名称: {$webdb.webname} 2.网址: {$webdb[www_url]} {:get_url('home')} 3.网站SEO关键词: 首页:{$we ...
- 齐博x1齐博首创钩子的使用方法
齐博X1有两套钩子体系,第一套是基于TP思路设计的.跟外面的大同小异.现在重点讲一下第二套我们首创的使用方法. 首先说一下如何埋钩子,这个跟TP思路的钩子类似,就是在页面的任何地方加入如下代码即可如下 ...
- 齐博X1到底是个什么鬼?
什么是齐博/齐博CMS之X1? 齐博X1是齐博软件基于thinkphp5开发的内容管理系统,拓展性非常强,后台一键升级,后台提供丰富的频道模块云市插件市场.风格市场.钩子市场,所有都是一键在线安装. ...
- 齐博x1到底是怎么的存在?
齐博X1是齐博软件基于thinkphp5开发的内容管理系统,拓展性非常强,后台一键升级,后台提供丰富的频道模块云市插件市场.风格市场.钩子市场,所有都是一键在线安装. 系统已经对接好QQ.微信登录,同 ...
- 最近无聊搭建一个齐博X1的下载页面
https://layui.wanxiangsucai.com/ 用layui官方镜像站的模版 改了个齐博X1的下载页面 https://x1.wanxiangsucai.com/ 哈哈哈!!! 还有 ...
- 齐博x1第四季《模块插件的制作》系列21-公共表单器的参数选项(7)
password 密码类型 和text一样,只不过type类型是password,密码类型输入时,显示星号.即Html中的密码框类型 icon 字体图标类型 和列表页一样,把css的字体图标引入到了表 ...
- 齐博x1 二次开发的灵魂fun函数
X1最强大之处,体现在灵活,扩展性强,在使用过程中,你会发现灵活之处非常之多. 现在跟大家讲一下,灵魂函数 fun() X1的核心函数文件是 application/common.php 随着模块频道 ...
- 齐博x1服务器性能太差,调整系统升级每次校验的文件数
系统升级需要校验本地的文件是否被修改过,系统默认每次检验1千个文件,一般来说需要分四到五页来处理,如下图所示. 如果你的服务器性能太差的话,就需要手工把数值调小.把下面的代码复制出来.进入后台数据库管 ...
- 什么是齐博x1标签
X系列的标签跟V系列的标签区别还是很大的.在V系列的时候,只有一种很简单的标签比如$label[XXXX]以前的标签相对现在的来说太简单的点,所以在功能上也比较受限.X系列目前有几下几种标签 {qb: ...
随机推荐
- MySQL查询性能优化七种武器之索引潜水
有读者可能会一脸懵逼? 啥是索引潜水? 你给起的名字的吗?有没有索引蛙泳? 这个名字还真不是我起的,今天要讲的知识点就叫索引潜水(Index dive). 先要从一件怪事说起: 我先造点数据复现一下问 ...
- 飞书前端提到的竞态问题,在 Android 上怎么解决?
请点赞关注,你的支持对我意义重大. Hi,我是小彭.本文已收录到 GitHub · AndroidFamily 中.这里有 Android 进阶成长知识体系,有志同道合的朋友,关注公众号 [彭旭锐] ...
- Java学习--方法
Java学习 方法 方法 定义 Java方法是语句的集合,一起执行一个功能. 方法是解决一类问题的步骤的有序组合. 方法包含在类或对象中. 方法在程序中被创建,在其他地方被引用. 设计方法的时候,最好 ...
- ArcGIS QGIS学习一:打开shp、geojson地图变形变扁问题(附最新坐标边界下载全国省市区县乡镇)
目录 打开的地图变扁了 修改投影坐标系 等角圆锥投影 Web墨卡托投影 一些要注意的地方 打开的地图变扁了 记得初学GIS软件时,用ArcGIS或QGIS打开省级地图的时候(shp或geojson等格 ...
- mybatisplus-ActiveRecord 模式
ActiveRecord 模式 直接调用Model对象来进行增删改查. 实体类只需继承 Model 类即可进行强大的 CRUD 操作 需要项目中已注入对应实体的BaseMapper 实体类User 点 ...
- NOI2021 同步赛游记
写在前面的话 为什么叫游记呢?因为我第一天是在划水中度过的,错过了对原题的发现. O n e I n D a r k \tt OneInDark OneInDark 无比风光地去了浙江,却倒霉地遇上了 ...
- Java接口自动化测试框架系列(一)自动化测试框架
一.什么是自动化测试 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程. 通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例一步步执行测试,得到实际结果与期望结果的比较. 为了节省 ...
- Can't pickle local object '_createenviron.<locals>.encodekey'报错解决
关于selenium传参报错问题,用下面是报错信息: Traceback (most recent call last): File "D:/code/read_book/main.py&q ...
- UTL_FILE 包使用介绍
Postgresql 不支持 package功能,这给oracle 向 postgresql迁移增加了很多迁移工作.人大金仓Kingbase数据库实现了类似 oracle package 功能,并提供 ...
- bulk collect 在KingbaseES和Oracle的使用方法比较
概述 BULK COLLECT 子句会批量检索结果,即一次性将结果集绑定到一个集合变量中,并从SQL引擎发送到PL/SQL引擎.通常可以在SELECT INTO.FETCH INTO以及RETURNI ...