Git 项目推荐 | 内容管理系统 Tolowan

   2016-11-10 0
核心提示:欢迎使用Tolowan 是基于Phalcon开发的内容管理系统。特性: 继承Phalcon框架全功能 多网站支持,异站点用户文件、同网站私有/共有网站隔离 强大的个性化环境,每个用户可以对网站内容和表现形式进行个性化设置 基于用户角色、模块、角色的权限控制系统,当然

欢迎使用Tolowan

是基于Phalcon开发的内容管理系统。

特性:

  • 继承Phalcon框架全功能
  • 多网站支持,异站点用户文件、同网站私有/共有网站隔离
  • 强大的个性化环境,每个用户可以对网站内容和表现形式进行个性化设置
  • 基于用户角色、模块、角色的权限控制系统,当然,您也可以通过回调函数进行更精细控制
  • 提供的站内搜索系统原生支持全文搜索。
  • 使用volt编写主题模板,类twig语法,单比twig更高效
  • Tolowan提供的实体管理、字段管理、表单管理、模型管理等机制,可以大大缩减二次开发的难度和所需时间

Git 项目推荐 | 内容管理系统 Tolowan

安装phalcon

前往phalcon官网按步骤安装phalcon扩展: https://phalconphp.com/zh/download

测试通过phalcon版本:2.1.×

安装Tolowan

下载安装包解压至web目录

1. 修改site.php文件

编辑siteroot/Web/site.php文件,将需要绑定的域名根据文件中格式录入

2. 复制public目录

例如在第一步中,我们录入的域名为:baidu.com -> Baidu ,我们则需要将siteroot/public目录复制为siteroot/Baidu 注意:首字母必须未大写

3. 复制site/default目录

例如在第一步中,我们录入的域名为:baidu.com -> Baidu ,我们则需要将siteroot/Web/default目录复制为siteroot/Web/Baidu 注意:首字母必须未大写

4. 绑定域名

根据上文设置,以apache服务器为例,需要进行如下设置

<VirtualHost *:80>
DocumentRoot siteroot/Baidu
ServerName baidu.com
</VirtualHost>

默认后台路径:domain.com/amdin/frame

默认登陆地址:domain.com/login.html

默认管理员账户:

user: admin@admin.com

password:guanliyuan

注:其中上文中siteroot为程序目录所在地址, 加入QQ交流群:574199144

特性

实体(siteroot/Modules/Entity)

是具有相同功能的对象,在Tolowan中内置了三种实体类型:

  • 基于数据库模型的常规实体
  • 基于配置的配置实体
  • 基于配置列表的配置列表实体

例如,原生模块中,node、comment、user等模块是基于数据库模型的常规实体的实体对象;config是基于配置实体的实体对象;区域(region)、菜单(menu)是基于配置列表实体的实体对象。

不同的实体类型,决定了实体的保存、读取方式,但是所有实体都拥有统一的API,而定义实体,我们只需要完成实体声明数组文件和集成相应的基本实体模型即可,而实体的增、改、删、读等常规操作并不需要重新编写。

下面以node模块中的node实体为例:

  1. 在模块配置目录定义实体声明文件(siteroot/Modules/Node/config/entitys.php)
  2. 建立实体管理模型(集成基础实体管理模型类):siteroot/Modules/Node/Entity/NodeManager.php
  3. 建立实体模型(集成基础实体模型类):siteroot/Modules/Node/Entity/Node.php

2、3步的类文件可以随意在实体声明文件中制定

接下来就可以使用 adminEntity* 系列路由进行相关管理操作,当然你也可以替换/禁用这些默认操作(在此不详述)

字段

字段系统可以算是实体系统的一部分,通过它我们可以灵活的对实体进行无限制的模型扩充和灵活访问。

依旧以node实体进行操作示例:

$nodeEntity = $this->entityManager->get('node');//获取node实体

$node = $nodeEntity->findFirst(5, true);//获取ID为5的文章

$nodeUser = $node->uid->user //获取文章作者的user实体

$node -> delete(); //删除文章和相关所有字段

$nodeUser->delete(); //删除文章作者

配置(siteroot/Core/Config)

Tolowan直接以数组保存配置信息,当然使用前您需要通过命名空间引入该文件

Config::get('config') //获取config配置

Config::set('config',array())//设置配置内容

模块和主题下config目录为其配置目录,我们可以通过Config::cache()来获取某个配置的合集

Config::cache('entitys');

//合并所有已启用模块、主题config目录下entitys.php文件内容,这个合并操作在您清除配置缓存前只会进行一次

表单

Tolowan直接通过数组来声明表单,我们也可以把数组保存在配置文件中,通过配置名来生成表单。

例如:siteroot/Modules/Search/config/searchForm.php 是声明的搜索表单,配置名为:search.searchForm (模块名+文件名),在模板中我们可以这么使用。

{{ form.create('search.searchForm') }} //在模板中就可以直接生成基于bootstarp的表单html(当然也可以替换成自己的模板,此处不详谈)

模型

Tolowan中,你可以通过数组的方式来构建查询,简单距离:

<?php
$query = array(
    'from' => 'node',
    'andWhere' => array(
        array(
            'conditions' => 'node.id < :id:',
            'bind' => array('id' => 50),
        ),
    ),
    'limit' => 15,
    'page' => 1,
    'paginator' => true,
);
Core\Db\Query::find($query);

上面的含义:查询node表中id字段值小于50的数据,且采用分页查询,每页获取15条记录,获取第一页数据

 
标签: Git Phalcon
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • ubuntu git svn 缺少 subversion-perl
    在命令行中输入以下命令:sudo apt-get install subversion-tools等待安装成功即可。
    02-09
  • centos安装git时出错提示make[1]: *** [perl.ma
    解决:yum install perl-ExtUtils-MakeMaker package
    02-09
  • 用R语言对一个信用卡数据实现logit,GBM,knn,xgb
    Prepare the data数据来自UCIhttp://archive.ics.uci.edu/ml/machine-learning-databases/credit-screening,一个信a用卡的数据,具体各项变量名以及变量名代表的含义不明(应该是出于保护隐私的目的),本文会用logit,GBM,knn,xgboost来对数据进行分类预测,对比准
    02-09
  • ruby 规整git commit 信息
    ruby 规整git commit 信息
    实现过程:1、使用git log 可以获取到所有git commit。对命令加入参数后,可以获取某段时间的log、和只输出log的某些字段。如:[root@localhost crowd-web-server]# git log --pretty=format:'%an | %cd | %s' --after='2017-03-5 14:42'该命令为:只获取2017
    02-09
  • 五个项目告诉你,Dart 为什么这么火?| Gitee 项目推荐
    五个项目告诉你,Dart 为什么这么火?| Gitee
    Gitee 2019年度数据报告已经发布,报告显示,Dart 语言成为了 2019 年 Gitee 增速最快的编程语言,增速超过了 250%。2019 年 Flutter 发布了迄今为止最重大的版本,一举成为多平台框架,支持移动、Web、桌面与嵌入式设备;而 Dart 也在与 C 的互操作、UI 构建
    02-09
  • GitHub上优秀的Go开源项目 go语言开源项目推荐
    近一年来,学习和研究Go语言,断断续续的收集了一些比较优秀的开源项目,这些项目都非常不错,可以供我们学习和研究Go用,从中可以学到很多关于Go的使用、技巧以及相关工具和方法。我把他们整理发出来,大家有兴趣可以根据自己的爱好选择一些进行研究和阅读,
    02-09
  • GitHub 热点速览 Vol.35:Let's Go,Rust 大放异彩
    GitHub 热点速览 Vol.35:Let's Go,Rust
    摘要:语言之争,一直存在于各类社群,不论是单个编程语言的交流群,亦或是 NoSQL、云开发等技术群,总能看到“要不要换 Go”、“Rust 比 C++ 更强”的影子。撇开语言特性,本周的热点趋势周榜上 Rust 和 Go 开发的项目表现都很良好,比如,搜索引擎:MeiliSe
    02-09
  • github上的Lua in Erlang
    https://github.com/rvirding/luerl
    02-08
  • (转)How to Install Xcode, Homebrew, Git, RVM
    转载自http://www.moncefbelyamani.com/how-to-install-xcode-homebrew-git-rvm-ruby-on-mac/谢谢原博主的好文章。转载请注明原出处。 After following many outdated and incomplete instructions for setting up a web development environment on a Mac (
    02-08
  • 使用Linux、Nginx和Github Actions托管部署ASP.NET Core 6.0应用
    使用Linux、Nginx和Github Actions托管部署ASP.
    使用Linux、Nginx和Github Actions托管部署ASP.NET Core 6.0应用前言本文主要参考微软这篇文档而来 Host ASP.NET Core on Linux with Nginx,并使用Github Actions做CICD,部署到阿里云服务器,所有步骤均亲测可用。你需要有Linux云服务器(本文使用的是阿里
    02-08
点击排行