CMS系统示例-疑难问答

#1 jake

新版speedphp框架CMS例子发布,有完整的CMS功能,包括HTML生成,可视化编辑器,权限及角色组,图片上传,模板在线修改等功能。
围观地址https://github.com/SpeedPHP/example-cms
本贴是关于此CMS系统示例的疑难问答,欢迎留言!

首先,要注意:


  • 每个Part里面,material目录是原始页面,和数据库SQL文件。
  • 每个Part里面,src目录是现成源码,也是HTTP服务器指向的根目录。
  • 导入数据库SQL。
  • 最好下载最新版本的speed.php文件,替换src/protected/lib目录的speed.php文件以保证最新特性能够支持。

记得要完成这几步,才能看到效果。

源码中四个Part 的关系:

由于理解的需要,这里是逐步递进的四个包。比如说 Part2 包含了 Part1 全部功能,以此类推;方便大家看到如何一步步实现CMS。

也可以直接看Part4,那是有全部功能的例子

Part 1
前台页面显示主页、分类页、文章页。
后台管理页。
后台管理可管理分类和文章。
可视化文章编辑器xheditor。

Part 2
包含Part 1的全部功能,新增加
全局HTML生成
发布和编辑文章时,会重新生成HTML

Part 3
包含Part 1 和 Part 2的全部功能,新增加
权限和权限组
用户登录权限控制及用户管理

Part 4
包含Part 1 和 Part 2 和 Part 3的全部功能,新增加
图片上传
模板在线修改





各Part要注意的问题:

每个Part的表结构会稍有不同,如果觉得麻烦,可以直接用Part 4的SQL。

Part 1,src/protected/config.php配置文件中,user 字段是管理员登录配置。


Part 2,配置中,htmlmakeup字段如果设置成false,那么就不会启动HTML生成功能。要开启HTML生成功能,要把htmlmakeup字段设成一个随机字符串,如 'htmlmakeup' => 'test' 。


Part 3,记得要先导数据,不然登录不了。初试用户名是:admin,密码是:123456

Part 3,有了权限系统,而配置中user字段改名manager字段,里面是用户名(没有密码),表示这些用户是最高管理员,不可删除和被其他管理员修改密码。

Part 3,/src/protected/controller/admin/BaseController.php 的第9行,可以先注释掉。然后添加各种权限,角色和设置好用户,不然是进不去的。

Part 4,以下两个目录需要写入文件,请设置成可写入:

/src/upload
/src/protected/view/template




2017-12-29 09:19:33

#2 fosf

:victory: 占位

2017-12-29 09:21:48

#3 tanidea

支持支持,很喜欢speedPhp

2017-12-30 13:13:29

#4 978868928

果断赞一个!!!

2018-03-19 17:13:11

#5 xieguolun

先赞一下,如出一个祥细的讲解就更好了,如出一个开发的祥实的开发过程,如出一本书就更好了

2018-03-27 09:41:15

#6 liquan

Part 4 伪静态在config.php里面要怎么设置呢?



   
        
            
               
                    
                    
               

               
                    
                    
                        
                        
                    

                    
               

            

        

   


2018-05-30 10:50:17

#7 jake

liquan 发表于 2018-5-30 10:50
Part 4 伪静态在config.php里面要怎么设置呢?
请看手册

2018-05-30 12:15:53

#8 sandi

非常感谢作者的辛勤付出和热心共享,我下载part4在本机搭载平台测试时,点击后台文章管理的“模板”链接,发现目标打开出错,模板编辑工能用不到,为什么呢?出错提示如下:
Parse error: syntax error, unexpected '.', expecting ',' or ';' in E:\iclass\protected\controller\admin\TemplateController.php on line 4
1.jpg

2018-06-20 10:23:17

#9 jake

sandi 发表于 2018-6-20 10:23
非常感谢作者的辛勤付出和热心共享,我下载part4在本机搭载平台测试时,点击后台文章管理的“模板”链接, ...
那个文件第4行,只有
private $template_dir = APP_DIR.DS.'protected'.DS.'view'.DS;
这样子的。
按照你的错误提示,有两个可能性:

1. 改过了源码,恢复就行。
2. 直接进入了这个文件,所以没有定义过那些常量。所以必须通过url函数生成的链接来进入。

或者可以先看看入门教材,有了解较多了一般这类问题都容易解决。

2018-06-20 14:33:21

#10 sandi

jake 发表于 2018-6-20 14:33
那个文件第4行,只有
private $template_dir = APP_DIR.DS.'protected'.DS.'view'.DS;
这样子的。
我把这一行注释掉后就可以了。:)

2018-06-20 15:00:38

#11 passionxlife

jake 发表于 2018-6-20 14:33
那个文件第4行,只有
private $template_dir = APP_DIR.DS.'protected'.DS.'view'.DS;
这样子的。
jake请查看一下是否是原编码问题?
1.jpg2.jpg

2019-05-12 16:44:42

#12 jake

passionxlife 发表于 2019-5-12 16:44
jake请查看一下是否是原编码问题?
代码在github上面,公开的可见可下载,有无问题欢迎检查。

PS:纯代码不会有字符编码问题~,如果认为语法有问题,请直接指出即可。

2019-05-12 22:12:51

#13 xieguolun

Fatal error: Uncaught Error: Call to undefined method MainController::jump() in D:\phpstudy_pro\WWW\speedphpcms\protected\controller\admin\MainController.php:5 Stack trace: 0 D:\phpstudy_pro\WWW\speedphpcms\protected\lib\speed.php(84): MainController->actionIndex() 1 D:\phpstudy_pro\WWW\speedphpcms\index.php(3): require('D:\\phpstudy_pro...') 2 {main} thrown in D:\phpstudy_pro\WWW\speedphpcms\protected\controller\admin\MainController.php on line 5

2021-05-12 20:45:02

#14 jake

xieguolun 发表于 2021-5-12 20:45
Fatal error: Uncaught Error: Call to undefined method MainController::jump() in D:\phpstudy_pro\WWW\ ...
改动的时候,最好按照原来的写法,继承BaseController

https://github.com/SpeedPHP/example-cms/blob/master/part4/src/protected/controller/BaseController.phpL14

2021-05-14 09:30:20