webfactorybulgaria / base
使用 Laravel 5 构建的多语言 CMS
Requires
- php: >=5.5.9
- adamwathan/form: ~0.8.9
- barryvdh/laravel-debugbar: ~2.0
- barryvdh/laravel-elfinder: ^0.3.6
- bkwld/croppa: ~4.4.0
- dimsav/laravel-translatable: 5.6.0
- edvinaskrucas/notification: ~5.1.0
- guzzlehttp/guzzle: ~6.0
- laracasts/presenter: ~0.2.1
- laracasts/utilities: ~2.1.0
- laravel/framework: ~5.2.35
- maatwebsite/laravel-sidebar: ~1.1.1
- propaganistas/laravel-translatable-bootforms: ~1.3.2
- roumen/feed: ~2.10.1
- spatie/laravel-permission: ~1.3.4
- webfactorybulgaria/blocks: ~4.1.0
- webfactorybulgaria/core: ~4.1.0
- webfactorybulgaria/dashboard: ~4.1.0
- webfactorybulgaria/files: ~4.1.0
- webfactorybulgaria/galleries: ~4.1.0
- webfactorybulgaria/history: ~4.1.0
- webfactorybulgaria/menus: ~4.1.0
- webfactorybulgaria/nestablecollection: ~1.1.1
- webfactorybulgaria/objects: ~4.1.0
- webfactorybulgaria/pages: ~4.1.0
- webfactorybulgaria/roles: ~4.1.0
- webfactorybulgaria/settings: ~4.1.0
- webfactorybulgaria/sitemap: ~4.1.0
- webfactorybulgaria/translations: ~4.1.0
- webfactorybulgaria/users: ~4.2.0
Requires (Dev)
- fzaninotto/faker: ~1.4
- laracasts/generators: ~1.1
- mockery/mockery: 0.9.*
- phpunit/phpunit: ~4.0
- symfony/css-selector: 2.8.*|3.0.*
- symfony/dom-crawler: 2.8.*|3.0.*
- dev-master
- v4.1.43
- v4.1.42
- v4.1.41
- v4.1.40
- v4.1.39
- v4.1.38
- v4.1.37
- v4.1.36
- v4.1.35
- v4.1.34
- v4.1.33
- v4.1.32
- v4.1.31
- v4.1.30
- v4.1.29
- v4.1.28
- v4.1.27
- v4.1.26
- v4.1.25
- v4.1.24
- v4.1.23
- v4.1.22
- v4.1.21
- v4.1.20
- v4.1.19
- v4.1.18
- v4.1.17
- v4.1.16
- v4.1.15
- v4.1.14
- v4.1.13
- v4.1.12
- v4.1.11
- v4.1.10
- v4.1.9
- v4.1.8
- v4.1.7
- v4.1.6
- v4.1.5
- v4.1.4
- v4.1.3
- v4.1.2
- v4.1.1
- v4.1.0
- v4.0.36
- v4.0.35
- v4.0.34
- v4.0.33
- v4.0.32
- v4.0.31
- v4.0.30
- v4.0.29
- v4.0.28
- v4.0.27
- v4.0.26
- v4.0.25
- v4.0.24
- v4.0.23
- v4.0.22
- v4.0.21
- v4.0.20
- v4.0.19
- v4.0.18
- v4.0.17
- v4.0.16
- v4.0.15
- v4.0.14
- v4.0.13
- v4.0.12
- v4.0.11
- v4.0.10
- v4.0.9
- v4.0.8
- v4.0.7
- v4.0.6
- v4.0.5
- v4.0.4
- v4.0.3
- v4.0.2
- v4.0.1
- 4.0.0
- 2.9.0
- 2.8.18
- 2.8.17
- 2.8.16
- 2.8.15
- 2.8.14
- 2.8.13
- 2.8.12
- 2.8.11
- 2.8.10
- 2.8.9
- 2.8.8
- 2.8.7
- 2.8.6
- 2.8.5
- 2.8.4
- 2.8.3
- 2.8.2
- 2.8.1
- 2.8.0
- 2.7.30
- 2.7.29
- 2.7.28
- 2.7.27
- 2.7.26
- 2.7.25
- 2.7.24
- 2.7.23
- 2.7.22
- 2.7.21
- 2.7.20
- 2.7.19
- 2.7.18
- 2.7.17
- 2.7.16
- 2.7.15
- 2.7.14
- 2.7.13
- 2.7.12
- 2.7.11
- 2.7.10
- 2.7.9
- 2.7.8
- 2.7.7
- 2.7.6
- 2.7.5
- 2.7.4
- 2.7.3
- 2.7.2
- 2.7.1
- 2.7.0
- 2.6.8
- 2.6.7
- 2.6.6
- 2.6.5
- 2.6.4
- 2.6.3
- 2.6.2
- 2.6.1
- 2.6.0
- 2.5.21
- 2.5.20
- 2.5.19
- 2.5.18
- 2.5.17
- 2.5.16
- 2.5.15
- 2.5.14
- 2.5.13
- 2.5.12
- 2.5.11
- 2.5.10
- 2.5.9
- 2.5.8
- 2.5.7
- 2.5.6
- 2.5.5
- 2.5.4
- 2.5.3
- 2.5.2
- 2.5.1
- 2.5.0
- 2.4.34
- 2.4.33
- 2.4.32
- 2.4.31
- 2.4.30
- 2.4.29
- 2.4.28
- 2.4.27
- 2.4.26
- 2.4.25
- 2.4.24
- 2.4.23
- 2.4.22
- 2.4.21
- 2.4.20
- 2.4.19
- 2.4.18
- 2.4.17
- 2.4.16
- 2.4.15
- 2.4.14
- v2.4.13
- v2.4.12
- v2.4.11
- 2.4.10
- 2.4.9
- 2.4.8
- 2.4.7
- 2.4.6
- 2.4.5
- 2.4.4
- 2.4.3
- 2.4.2
- 2.4.1
- 2.4.0
- v2.3.3
- v2.3.2
- v2.3.1
- v2.3.0
- v2.2.8
- v2.2.7
- v2.2.6
- v2.2.5
- v2.2.4
- v2.2.3
- v2.2.2
- v2.2.1
- v2.2.0
- v2.1.13
- v2.1.12
- v2.1.11
- v2.1.10
- v2.1.9
- v2.1.8
- v2.1.7
- v2.1.6
- v2.1.5
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.64
- v2.0.63
- v2.0.62
- v2.0.61
- v2.0.60
- v2.0.59
- v2.0.58
- v2.0.57
- v2.0.56
- v2.0.55
- v2.0.54
- v2.0.53
- v2.0.52
- v2.0.51
- v2.0.50
- v2.0.49
- v2.0.48
- v2.0.47
- v2.0.46
- v2.0.45
- v2.0.44
- v2.0.43
- v2.0.42
- v2.0.41
- 2.0.40
- 2.0.39
- 2.0.38
- 2.0.37
- 2.0.36
- 2.0.35
- 2.0.34
- v2.0.33
- v2.0.32
- v2.0.31
- v2.0.30
- v2.0.29
- v2.0.28
- v2.0.27
- v2.0.26
- v2.0.25
- v2.0.24
- v2.0.23
- v2.0.22
- v2.0.21
- v2.0.20
- v2.0.19
- v2.0.18
- v2.0.17
- v2.0.16
- v2.0.15
- v2.0.14
- v2.0.13
- v2.0.12
- v2.0.11
- v2.0.10
- v2.0.9
- v2.0.8
- v2.0.7
- v2.0.6
- v2.0.5
- V2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.8.5
- 1.8.4
- 1.8.3
- 1.8.2
- 1.8.1
- 1.8.0
- dev-testhrist
- dev-dev
This package is not auto-updated.
Last update: 2024-09-14 18:04:21 UTC
README
Admintool4 是一个基于 TypiCMS 的模块化多语言内容管理系统,使用 Laravel 5.2 构建。开箱即用即可管理页面、活动、新闻、地点、滑块等。
目录
特性
URLs
此类 URL 由 CMS 管理
模块
- /en/events/slug-in-english
- /fr/evenements/slug-en-francais
页面
- /en/parent-pages-slug-en/subpage-slug-en/page-slug-en
- /fr/parent-pages-slug-fr/subpage-slug-fr/page-slug-fr
要求
- PHP >= 5.5.9
- OpenSSL PHP 扩展
- Mbstring PHP 扩展
- Tokenizer PHP 扩展
- Memcached 或 Redis
安装
-
创建一个新项目
composer create-project webfactorybulgaria/base mywebsite -
进入新创建的文件夹
cd mywebsite -
数据库迁移和种子,用户创建,npm 安装和目录权限
php artisan admintool:install
访问 http://mywebsite.local/admin 并登录。
npm & Gulp
为了处理资源,您需要安装 Node.js 和 gulp,然后切换到您的网站文件夹并运行以下命令
-
根据 gulpfile.js 安装 gulp 包(目录 node_modules)
npm install -
编译管理和公共资源
gulp all
配置
- 在 config/translatable.php 中设置区域设置。
- 在 config/app.php 中设置 fallback_locale。
- 在 config/typicms.php 中设置 main_locale_in_url 为 true 或 false。
- 缓存驱动程序设置为 array,您可以在 .env 文件中将它更改为另一个可标记的缓存系统,如 redis 或 memcached。
模块安装
此示例针对新闻模块。完成这些步骤后,模块将出现在后台管理侧边栏中。如需自定义,请发布!
-
使用 Composer 安装模块
composer require webfactorybulgaria/news -
将
TypiCMS\Modules\News\Shells\Providers\ModuleProvider::class,添加到 config/app.php,在TypiCMS\Modules\Core\Shells\Providers\ModuleProvider::class,之前 -
发布视图和迁移
php artisan vendor:publish -
迁移数据库
php artisan migrate
模块脚手架
此示例针对一个名为 Cats 的新模块。
-
使用 artisan 创建模块
php artisan admintool:create cats -
模块位于 /Modules/Cats,您可以自定义它
-
将
TypiCMS\Modules\Cats\Shells\Providers\ModuleProvider::class,添加到 config/app.php,在TypiCMS\Modules\Core\Shells\Providers\ModuleProvider::class,之前 -
迁移数据库
php artisan migrate
现有模块
每个模块都可以发布以供修改和跟踪 git。有关发布模块的更多信息。
页面
页面可以通过拖放嵌套,在放置时生成并保存到数据库中的 URI。页面的每个翻译都有自己的路由。页面可以链接到模块。
菜单
每个菜单都有可嵌套的项目。一个项目可以链接到一个页面或 URL。您可以使用 Menus::build('menuname') 返回一个 HTML 格式的菜单。
项目
项目有分类,项目URL遵循以下模式:/en/projects/category-slug/project-slug
分类
分类包含许多项目。
标签
标签与项目相关联,并使用Selectize jQuery插件。标签模块有许多多态多对多关系,因此可以轻松地与其他模块相关联。
活动
事件有开始和结束日期。
新闻
简单的新闻模块,带有链接的文件/图片画廊。
联系
前端联系表单和后台记录管理。
合作伙伴
合作伙伴有一个标志、网站URL、标题和正文内容。
文件
文件模块允许您上传多个文件。它使用DropzoneJS来上传文件。使用Croppa即时生成缩略图。
相册
您可以创建任意多的相册,每个相册有许多文件。相册可以通过多态多对多关系链接到任何模块项目。
用户和角色
可以通过设置面板(/admin/settings)启用用户注册。角色和权限使用spatie/laravel-permission管理。
块
块很有用,可以在视图中显示自定义内容。您可以使用Blocks::build('blockname')获取块的内容。
翻译
可以通过管理面板(/admin/translations)将翻译存储在数据库中。
您可以在任何地方使用Lang::get('db.Key')、trans('db.Key')或@lang('db.Key')调用数据库翻译。
网站地图
路由sitemap.xml生成XML格式的站点地图文件。要将模块添加到站点图,请配置app/config/sitemap.php。
设置
通过设置面板(/admin/settings)更改网站标题和其他选项。设置保存在数据库中
历史
创建、更新、删除、在线和离线操作记录在数据库中。25条最新记录显示在后台仪表板中。
门面
每个模块都有一个外观,提供对存储库的访问。例如,您可以使用News::latest(3)获取三条最新新闻。检查每个模块存储库中可用的方法。
Artisan 命令
命令位于/vendor/admintool/core/src/Commands
Admintool4的安装
php artisan admintool:install
在app/config/cache.php中设置缓存键前缀
php artisan cache:prefix yourCachePrefix
此命令由admintool:install触发
初始迁移和种子
php artisan typicms:database
此命令由admintool:install触发
清理public/html目录
php artisan clear-html
发布模块
如果您想修改模块,例如添加一些字段或关系,您不能轻松地做到这一点,因为每个模块都在供应商目录中。每个TypiCMS类都有其空的"Shell Class"。这是一个继承基本类并在整个CMS中使用的空类。当您发布模块时,所有Shell类都会复制到/Modules目录中,您可以在其中轻松覆盖方法和属性。例如,通过运行此命令发布Pages模块
php artisan admintool:publish pages
这将把从/vendor/typicms/pages/src/Shells到/Modules/Pages/Shells的所有内容复制过来。
然后为了使这些新类具有优先级,您需要
- 将此添加到您的composer.json文件:"TypiCMS\Modules\Pages\Shells": "Modules/Pages/Shells/"
- 运行
composer dump-autoload
这样,您将能够完全控制模块,同时仍然可以在需要时从主存储库更新模块。
创建模块
您可以轻松地生成模块脚手架,对于名为Cats的模块,运行此命令
php artisan admintool:create cats
##升级说明
变更日志
有关最近更改的更多信息,请参阅CHANGELOG。
贡献
请参阅CONTRIBUTING获取详细信息。
鸣谢
许可证
Admintool4是一款开源软件,采用MIT许可证。