Zurmo
Zurmo是一个开源的客户关系管理(CRM)系统,采用PHP开发。服务器端使用Yii框架和RedBeanPHP实现,前端使用jquery。
Tyrannoaurus
我是一个努力的菜鸟,终有一天可以驰骋蓝天。
展开
-
zurmo(2)-模块的基本文件
问题描述:一个Zurmo的模块CURD等基本功能所具有的文件?如下图:文件夹及文件目录如图所示:1:DefaultController.php文件里放着controller的方法。(PS:名字是可以自己取,不一定是 'default')2:AppsSearchForm.php文件里是收集表单元素的值,可参考YII的Form.3:App.php里放着关于模型属性的基本信息。4:xxxEditAndDe原创 2017-06-28 16:57:49 · 780 阅读 · 0 评论 -
Zurmo(十四)之ListView之Columns
问题描述:如下图把一个其它模块的model(显示其中的一个或者多个字段)在其它模块的list页面的Columns里显示出来。以Contacts模块的Columns里显示Account举例。1:在Contacts的model的中有关于Account的relations。 'relations' => array( 'account' => a原创 2017-06-17 12:07:44 · 1103 阅读 · 0 评论 -
zurmo(二十)-Home页面
问题描述:在首页的信息中心对增加信息组成这个功能实现自定义,Zurmo自带的是有很多的信息组成选择,但是有很多不是我们所需要的,我们要把不要的去掉,要怎么做呢?解决方法:如图 就比如把这里的某一个信息组合去掉,具体代码如下图: 这里的$classname就是具体的一个个的组成,我们可以把所有的组和打印出来,然后把不要的组成去掉,就可以实现不显示某个组合的目的了。中间的那个代码是我们自己写的判断。原创 2017-06-16 12:02:39 · 833 阅读 · 0 评论 -
Zurmo开发的小技巧(8)
小技巧,第九点:Yii1.1的学习和熟悉Zurmo采用的Yii1.1来开发的,model,form,controller,module,配置文件等等,大致的方向都是一致的,如果想更快的了解Zurmo的思想流程及具体的代码实现,强烈建议去学习。小技巧,第十点:要有坚持不懈的精神一开始学习的时候,可以往函数的实现里一层一层的打日志,对于不懂的代码功能,不要一下子就放弃。还有一个很好的学习的地方是Zurm原创 2017-06-07 16:21:01 · 670 阅读 · 0 评论 -
zurmo(十九)-文件目录功能
modules/data 的作用以accounts模块为例:1:AccountsDefaultDataMaker 的作用是为安装时accounts模块里的自定义字段初始化值,原文如下:Class to make default data that needs to be created upon an installation。关于这个自定义字段,可以看回以前的一篇文章:http://blog.c原创 2017-06-07 12:15:07 · 667 阅读 · 0 评论 -
Zurmo(十八)之顶栏模块快捷设置
问题描述:如下图:在‘创建’这里能够快捷操作的模块。代码在模块的xxxxModules.php文件里:就是 ‘shortcutsCreateMenuItems’ 根据这个属性来设置的。有多少个模块的配置文件里设置了这个属性,到时候页面上就会出现相对应的模块。如有不对,请指正!原创 2017-06-05 22:12:53 · 737 阅读 · 0 评论 -
Zurmo(十五)之图标四
经过前面三篇的博客,已经对Zurmo的图标和样式做了解释,但是发现还是不完全的,还有其他的内容。Zurmo的图标和样式:1:除了一个样式文件一个对应一个主题,2:自定义样式需要怎么改,3:乱码问题,4:默认主题等等,5:还有就是,Zurmo的图标和样式是和用户有关系的,就是一个用户给了一个主题,但是换了一个用户再登录,样式就没有应用上了,解决方式还有待探索!原创 2017-06-05 21:49:49 · 710 阅读 · 0 评论 -
Zurmo(十五)之图标三
针对上一篇博客进行补充:http://blog.csdn.net/tyrannoaurus/article/details/71056308 在这篇博客中讲到了一些样式乱码的问题,现在讲讲如何解决:还是用上一张图片,首先找到对应的CSS文件,比如‘路路路’对应的样式。如果你的IDE是Eclipse for php的话,你把编码改成了其它,在IDE看到正常了–‘…’,但是仍然发现页面上仍然是乱码,说原创 2017-06-03 13:41:53 · 675 阅读 · 0 评论 -
Zurmo(十六)之自定义LoginPageView
问题概述:在登录页面加一些自定义的信息,在原来的页面的上下部分加入自己的信息等等,如下图所示:代码在 zurmo/views/loginPageView.php里:要实现图中的效果,就在图中所示的代码中加入自己的代码就可以了。(PS):这是一个很好的方法,改了这里代码系统其它的页面上不会收影响,还有一些方法也可以实现这个效果,但是这个样子的话,系统的其它页面就会和登录页面一样,虽然也可以做成其它页原创 2017-05-08 21:17:06 · 883 阅读 · 0 评论 -
Zurmo(十七)之模块搜索
问题描述:在每个模块的list页面的搜索功能,如下图:要实现图上的功能:代码如下:在每个模块的xxxModule.php:在这里写了哪个属性,到时候在页面就可以搜索哪个属性了。原创 2017-05-08 21:38:33 · 1151 阅读 · 6 评论 -
Zurmo(十五)之图标二
图标之前写过一篇关于Zurmo图标的博客:http://blog.csdn.net/tyrannoaurus/article/details/68928865,但是是不完善的,现在做下补充:Zurmo的主题样式是自己可以设置的,在用户那里有设置的选项,默认是blue的主题。在用户界面和控制台都可以查看,如下图:这里是turquoise,是因为我改了主题,Zurmo的每一个主题都对应的一个css文件,原创 2017-05-01 15:42:50 · 863 阅读 · 0 评论 -
Zurmo(十四)之ListView重写SecuredActionBar
功能描述,如下图:把某个模块的list页面上方的导航栏重写!方法如下:1:在模块对应的Controller里的actionList里$mixedView = $this->makeActionBarSearchAndListView($searchForm,$dataProvider,'SecuredActionBarForXXXsSearchAndListView');$view = new X原创 2017-04-19 09:18:54 · 753 阅读 · 0 评论 -
Zurmo开发的小技巧(7)
小技巧,第八点:Zurmo 命令行对与更新Zurmo 的数据库模式和检查一些model的配置问题,都可以用命令来执行,快而且准。具体的命令和用法在博客:http://blog.csdn.net/tyrannoaurus/article/details/54173208 可以看。原创 2017-04-08 14:44:21 · 583 阅读 · 0 评论 -
Zurmo开发的小技巧总结
Zurmo开发的小技巧总结—都是很重要的小技巧(一)1:clearCache 清缓存 和 Update Custom Data ---resolveCustomData=1 更新 metadata 链接:http://blog.csdn.net/tyrannoaurus/article/details/69665907小技巧(二)开发效率 和 数据库方面链接:http://b原创 2017-04-08 14:36:01 · 611 阅读 · 0 评论 -
Zurmo开发的小技巧(6)
小技巧,第六点:开发工具对与每一门语言的开发,选好一个开发工具都是挺重要的,开发Zurmo 我选的是Eclipse for PHP.1:Eclipse for PHP上集成了git工具等等 2:Eclipse for PHP的搜索功能很强大,比如Ctal + F,搜索单独的文件里的字符串。Ctal + H 全局搜索,还有选择某一个具体的目录,还有大小写区分等等,具体的就自己去看吧。这个功能很常用到原创 2017-04-08 14:21:29 · 769 阅读 · 0 评论 -
Zurmo开发的小技巧(5)
小技巧,第六点:日志追踪在Zurmo开发或者PHP开发的时候,日志追踪是一个很常用也是很高效定位错误的方法, 1:对于Zurmo因为是采用Yii框架的嘛,Yii已经帮我们把PHP的错误日志都写在runtime/application.log文件下,如果出错了,直接来这里看错误信息就好了。可以看到出错的地方,定位的很清晰。2:自己写一些日志函数,不是PHP的运行日志,是你在执行过程中想看的某些变量的原创 2017-04-08 13:56:23 · 934 阅读 · 0 评论 -
Zurmo开发的小技巧(4)
小技巧,第五点:多分支开发之所以会选择多分支开发,会为什么避免各自的功能冲突,为了不影响到其它人。但是因为一开始对多分支开发不熟悉,出现了很多问题。1:代码经常被覆盖(这是一个很严重的问题) 解决方法:其实就是git工作流的原理,一般是git的操作,不算是Zurmo的特殊操作,也适用与其它项目的开发。建立一个专门用来合并所有代码的分支(develop分支),然后每个人的是一个功能分支,每一个功能分原创 2017-04-08 13:23:39 · 604 阅读 · 0 评论 -
Zurmo开发的小技巧(3)
小技巧,第三点:效率一般我们编写代码都是在Windows上编写的,但是对Zurmo来说,刚开始我们遇到了一个问题,就是运行的很慢,整个页面的响应特别慢,做可一个操作久的要10多秒甚至更久才能看到结果,这个不可接受的。解决方法: 1:安装memcached ,这也是官方推荐的。 2:最好用自己本地的数据库 3:个人实践在Linux的运行的很快,比在Windows快很多很多很多,但是前面两点都有原创 2017-04-08 11:52:05 · 652 阅读 · 0 评论 -
Zurmo开发的小技巧(2)
小技巧,第二点(针对上一篇的补充):http://blog.csdn.net/tyrannoaurus/article/details/69665907这篇文章主要举一些例子,是我自己在开发中遇到过的问题:先以超级管理员的账号登录,一段时间后莫名其妙就变成了一个没有什么权限的账号了,现在我还没有明白是什么问题。 1-2. 解决方法:以另外一个超级管理员的账号登录,然后清理了缓存,就可以用原来的账原创 2017-04-08 11:18:06 · 731 阅读 · 0 评论 -
Zurmo开发的小技巧(1)
小技巧,第一点:1:clearCache 清缓存2:Update Custom Data ---resolveCustomData=1 更新 metadata 位置如下: 清缓存我不说太多了,主要说Update Custom Data。你在修改Zurmo代码的是会遇到很多的getDefaultMetadata()方法,一般在module和model,view文件中,如果你这里的代码做了原创 2017-04-08 11:00:22 · 1148 阅读 · 0 评论 -
zurmo(七)-部分报错解决(4)
这个是对上一篇关于导出CSV文件补充:http://blog.csdn.net/tyrannoaurus/article/details/69663273当我导出自己定义的model的信息(有关联其它的model),报错如下: PHP的报错如下:去到箭头指向的方法:看到具体的代码可以发现这个DropDownRedBeanModelAttributeValueToExportValueAdapter原创 2017-04-07 23:28:59 · 825 阅读 · 0 评论 -
Zurmo(十六)之导出CSV
在Zurmo的list页面提供了一个导出CSV文件的功能,下面介绍如何实现:在对应的DefaultController里的actionExport()方法如下:public function actionExport() { $this->export ( 'UsersSearchView' );}从这里按住Ctal键可以去export方法的详细页面,在modules/zurmo/com原创 2017-04-07 22:54:56 · 887 阅读 · 0 评论 -
zurmo(七)-部分报错解决(3)
报错如下:当你的代码从Windows上传到Linux上,然后访问应用,出了这个问题。原因是:你的这个工程的文件夹的权限不够 给 chmod -R 777 xxxx 权限。赋权限之后,就可以正常访问了。原创 2017-04-03 18:30:05 · 694 阅读 · 0 评论 -
Zurmo(十四)之ListView之最后一列
问题描述:在listView的最后一列,做成图中的样子,自定义样式。方法:在xxListView.php重写父类的一个方法,如下:具体看代码,就不在说了。如果想知道原理的话,可以去看看YII关于这个组件的源码、上图中的两个图标之间是有一段距离的,那是因为我自定义了这个页面的css样式,不然会变成两排的!如果还想了解更多的话,看我的另外一篇博客:http://blog.csdn.net/tyranno原创 2017-04-01 18:21:41 · 1143 阅读 · 0 评论 -
Zurmo(十五)之图标
问题描述:如果我们要自定义Zurmo的图标,如下图:这些图标是zurmo自带的,下面的步骤可以让我们自己自定义图标。1.打开浏览器的控制台: 我们可以找到这个图标定义的样式,内容和样式所在的文件,我们可以在这里直接操作,然后查看具体的样式,现在这个content:’A’ 出来的就是那个主页的图标。2.我们进到这个css文件中查看: 3.如果我们要改图标,就把在对应的content的值改掉就行了,原创 2017-03-31 19:39:25 · 787 阅读 · 0 评论 -
Zurmo(十四)之EditAndDetailsView
Zurmo设置了让属性在edit,detail,create页面可以灵活出现的方式,通过不同的参数来配置,在EditAndDetailsView中,如下:SaveButton 和 CancelLink 表示在 Edit 页面才出现的。 ‘renderType’ => ‘Edit’EditLink 和其它的几个设置只能在Details页面才能看到 ‘renderType’ => ‘Detail原创 2017-03-14 12:21:38 · 1055 阅读 · 0 评论 -
Zurmo(十四)之ListView---isList参数
对于Zurmo的ListView页面的属性可以点击跳到detail页面的实现。例子:比如account的list页面的名字属性的链接 array( array( 'elements' => array( array('attributeName' => 'na原创 2017-03-13 17:56:30 · 663 阅读 · 0 评论 -
Zurmo(十三)之信息组合(xxDetailsAndRelationsView)之ActionElementBar
1.问题描述:我要下图的bar拿掉。方法:找到对应的xxDetailsAndRelationsView里的renderContent()。然后重写父类的renderContent()方法。 protected function renderContent() { $content = parent::renderContent(); 把这句代码改写成调用原创 2017-03-12 20:05:57 · 551 阅读 · 0 评论 -
Zurmo(十一)Relation之n:n和1:n(二)
Zurmo model Relation之n:n和1:n关系的补充: 一:n:n1:除了关联的model继承的是Item之外。 2:如果你有时数据库的那个item_id没有值的话,到时候你的页面上是无法显示出你要去找的那些数据的,这点要注意。二:1:n http://blog.csdn.net/tyrannoaurus/article/details/54138464 1.上为1:n关系的详原创 2017-03-12 19:28:11 · 632 阅读 · 0 评论 -
zurmo(七)-部分报错解决(2)
问题描述,当我用zurmoc 命令去更新数据库模式的时候报的错?[error] [exception.CException] exception 'CException' with message 'Not all members for Product could be translated to columns.Members: (code, name, description, quantit原创 2017-03-01 11:17:33 · 783 阅读 · 0 评论 -
Zurmo(十三)之信息组合(Portlet)
问题描述,如下图: 现在解释为什么会这样子布局,每一个红框就是一个 portlet.1.在数据库里有一个叫 portlet 的表,这个表里存的就是页面的布局信息。如下图: 2.首先 layoutId 就是这个布局的View , viewtype 就是整个布局中的一部分,column 表示是在第一列 , position 是表示在第几个位置,如图中的红框中的那行信息。则表示上一张图片中 Cont原创 2017-02-23 20:54:26 · 541 阅读 · 0 评论 -
Zurmo(十一)Relation之n:n
问题描述:比如 A 与 B 是一个多对多的关系,现在在新建A的时候,要建立与B的一个多对多的关系?1.在A的model 中定义好 relations ,在B的model中不需要再定义了。同时A model 里的其他都不用再定义了。 PS:(relationName 这个变量后面要用到的,后面的其它变量也是这个意思,我这里只是随意取的一个名字,在现实中要取的有意义)'relations' =>原创 2017-02-22 16:19:16 · 1225 阅读 · 0 评论 -
Zurmo(十二)之官网的zurmozoo例子
官网的zurmozoo例子的animal模块是有问题的,当我create一个animal的时候,有几个字段选了但是却没有存到数据库中,那几个字段如图: 原因是因为animal 的 model里的relation写的不完全,将它补完全就可以了。代码如下: PS:RedBeanModel 是老版本的写法,新版本用static 代替了,但是作用都是一样的。然后去数据库的animal表中将 custom原创 2017-01-08 16:19:14 · 583 阅读 · 0 评论 -
Zurmo(十)之zurmoc所有命令详解(三)
15 条Zurmo 命令详解 命令列表 <command-name>- -15条:我有上传文档,也可以去下载文档:http://download.csdn.net/detail/tyrannoaurus/9731300- help - changepassword - database - elevate - email - import - install - install原创 2017-01-07 14:07:30 · 1491 阅读 · 0 评论 -
Zurmo(十一)Relation之1:n
前言:Zurmo数据库表之间的一对多关系是有两种实现的形式。一种是以OwnedCustomField的形式,这种针对的是关联表的值不多的情况的,比如满意,不满意,一般这种。 详情请看博客:http://blog.csdn.net/tyrannoaurus/article/details/53668286一种以新建一个实体model的形式,将关系类映射为一个类,针对的关联表的值很多的情况。Zur原创 2017-01-06 15:25:30 · 866 阅读 · 0 评论 -
Zurmo(十)之zurmoc命令的作用(二)
这篇文章针对我的上一篇介绍zurmoc命令做补充的。链接如下:http://blog.csdn.net/tyrannoaurus/article/details/53769548语法:zurmoc updateSchema <username> <overwriteExistingReadTables>zurmoc updateSchema <username> (0/1)上一篇主要是介绍原创 2017-01-05 20:44:41 · 629 阅读 · 0 评论 -
zurmo(2)-自定义模块
在zurmo里加入自己定义的模块。 1.如果是新手的话,就先去官网看教程 http://zurmo.org/wiki/customizing-zurmo 官网给出的是一个动物园的模块,按照那里的说明去bitbucket上把源码下回来,然后安装就可以。如果安装过程有发生什么问题,可以看回我的上一篇文章。2.如果你是把动物园的代码copy到其它的项目里,在那个项目里运行的时候,应该是只有creat原创 2016-10-21 17:34:09 · 510 阅读 · 0 评论 -
zurmo的安装
1.在安装zurmo的过程中,如果发生错误,会有提示的。那是就按照提示去解决就可以了。一般是报数据库和php的配置错误。去修改数据库和php的配置文件就可以了,不过修改后不要忘记了重启服务。也可以去官网看安装的教程。 http://zurmo.org/wiki/installation-requirements 里面有很详细的说明的。2.如果安装时,已经在页面上填写了关于数据库方面的信息之后,跳原创 2016-10-21 17:21:00 · 797 阅读 · 0 评论 -
zurmo(3)-模块路由即API
API访问:1.比如:http://localhost/zurmo/app/index.php/accounts/AccountApi/Test 这是一个我自己的路由。 accounts为模块名。 AccountApi为controller名字的一部分。可以有自己任意取的,但是写路由的时候一定要对上。 Test为action。代码如下:类名的第一个字母大写。剩下的如图所示。 如有不对,请指原创 2016-10-21 19:26:54 · 654 阅读 · 0 评论 -
zurmo(四)-模块权限
如果想把zurmo里的模块注释掉,不然它显示在页面上。步骤如下:1.先以管理员的身份登录。2. 按图操作3.进去到下一个页面后: 按图操作4.选择Deny.然后save.就将这个模块隐藏了。但是是对普通用户而言是隐藏了,对super用户本身是没有影响的。所以接下来你要用一个普通用户的账号去登录,然后再查看。你可以自己创建一个普通用户的账号。5.效果如下图: 默认的界面:Marketing模原创 2016-11-04 21:05:39 · 635 阅读 · 0 评论