typicms / base
基于Laravel构建的多语言CMS
Requires
- php: ^8.1
- bkwld/croppa: ^6.0.2
- eluceo/ical: ^2.12
- genealabs/laravel-model-caching: ^0.13.4
- guzzlehttp/guzzle: ^7.2
- laracasts/presenter: ^0.2.6
- laracasts/utilities: ^3.2.2
- laravel/framework: ^10.10
- laravel/prompts: ^0.1.13
- laravel/sanctum: ^3.3
- laravel/tinker: ^2.8
- laravel/ui: ^4.2.1
- maatwebsite/excel: ^3.1.48
- maatwebsite/laravel-sidebar: ^1.2.3
- msurguy/honeypot: ^1.2
- spatie/eloquent-sortable: ^4.0.2
- spatie/laravel-feed: ^4.2.1
- spatie/laravel-permission: ^5.10.1
- spatie/laravel-query-builder: ^5.2
- spatie/laravel-translatable: 6.5.4
- symfony/http-client: ^6.2.9
- symfony/mailgun-mailer: ^6.2.7
- typicms/core: ^11.0.0
- typicms/laravel-translatable-bootforms: ^8.0
- typicms/nestablecollection: ^3.0
- typicms/things: ^11.0.0
- typidesign/laravel-artisan-translations: ~3.0
- ultrono/laravel-sitemap: ^9.3
Requires (Dev)
- barryvdh/laravel-debugbar: ^3.9
- fakerphp/faker: ^1.9.1
- laravel/pint: ^1.0
- laravel/sail: ^1.18
- mockery/mockery: ^1.4.4
- nunomaduro/collision: ^7.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- spatie/laravel-ignition: ^2.0
- dev-master
- 11.0.x-dev
- 11.0.32
- 11.0.31
- 11.0.30
- 11.0.29
- 11.0.28
- 11.0.27
- 11.0.26
- 11.0.25
- 11.0.24
- 11.0.23
- 11.0.22
- 11.0.21
- 11.0.20
- 11.0.19
- 11.0.18
- 11.0.17
- 11.0.16
- 11.0.15
- 11.0.14
- 11.0.13
- 11.0.12
- 11.0.11
- 11.0.10
- 11.0.9
- 11.0.8
- 11.0.7
- 11.0.6
- 11.0.5
- 11.0.4
- 11.0.3
- 11.0.2
- 11.0.1
- 11.0.0
- 10.0.x-dev
- 10.0.45
- 10.0.44
- 10.0.43
- 10.0.42
- 10.0.41
- 10.0.40
- 10.0.39
- 10.0.38
- 10.0.37
- 10.0.36
- 10.0.35
- 10.0.34
- 10.0.33
- 10.0.32
- 10.0.31
- 10.0.30
- 10.0.29
- 10.0.28
- 10.0.27
- 10.0.26
- 10.0.25
- 10.0.24
- 10.0.23
- 10.0.22
- 10.0.21
- 10.0.20
- 10.0.19
- 10.0.18
- 10.0.17
- 10.0.16
- 10.0.15
- 10.0.14
- 10.0.13
- 10.0.12
- 10.0.11
- 10.0.10
- 10.0.9
- 10.0.8
- 10.0.7
- 10.0.6
- 10.0.5
- 10.0.4
- 10.0.3
- 10.0.2
- 10.0.1
- 10.0.0
- 9.0.x-dev
- 9.0.47
- 9.0.46
- 9.0.45
- 9.0.44
- 9.0.43
- 9.0.42
- 9.0.41
- 9.0.40
- 9.0.39
- 9.0.38
- 9.0.37
- 9.0.36
- 9.0.35
- 9.0.34
- 9.0.33
- 9.0.32
- 9.0.31
- 9.0.30
- 9.0.29
- 9.0.28
- 9.0.27
- 9.0.26
- 9.0.25
- 9.0.24
- 9.0.23
- 9.0.22
- 9.0.21
- 9.0.20
- 9.0.19
- 9.0.18
- 9.0.17
- 9.0.16
- 9.0.15
- 9.0.14
- 9.0.13
- 9.0.12
- 9.0.11
- 9.0.10
- 9.0.9
- 9.0.8
- 9.0.7
- 9.0.6
- 9.0.5
- 9.0.4
- 9.0.3
- 9.0.2
- 9.0.1
- 9.0.0
- 8.0.9
- 8.0.8
- 8.0.7
- 8.0.6
- 8.0.5
- 8.0.4
- 8.0.3
- 8.0.2
- 8.0.1
- 8.0.0
- 7.0.x-dev
- 7.0.47
- 7.0.46
- 7.0.45
- 7.0.44
- 7.0.43
- 7.0.42
- 7.0.41
- 7.0.40
- 7.0.39
- 7.0.38
- 7.0.37
- 7.0.36
- 7.0.35
- 7.0.34
- 7.0.33
- 7.0.32
- 7.0.31
- 7.0.30
- 7.0.29
- 7.0.28
- 7.0.27
- 7.0.26
- 7.0.25
- 7.0.24
- 7.0.23
- 7.0.22
- 7.0.21
- 7.0.20
- 7.0.19
- 7.0.18
- 7.0.17
- 7.0.16
- 7.0.15
- 7.0.14
- 7.0.13
- 7.0.12
- 7.0.11
- 7.0.10
- 7.0.9
- 7.0.8
- 7.0.7
- 7.0.6
- 7.0.5
- 7.0.4
- 7.0.3
- 7.0.2
- 7.0.1
- 7.0.0
- 6.0.24
- 6.0.23
- 6.0.22
- 6.0.21
- 6.0.20
- 6.0.19
- 6.0.18
- 6.0.17
- 6.0.16
- 6.0.15
- 6.0.14
- 6.0.13
- 6.0.12
- 6.0.11
- 6.0.10
- 6.0.9
- 6.0.8
- 6.0.7
- 6.0.6
- 6.0.5
- 6.0.4
- 6.0.3
- 6.0.2
- 6.0.1
- 6.0.0
- 5.0.44
- 5.0.43
- 5.0.42
- 5.0.41
- 5.0.40
- 5.0.39
- 5.0.38
- 5.0.37
- 5.0.36
- 5.0.35
- 5.0.34
- 5.0.33
- 5.0.32
- 5.0.31
- 5.0.30
- 5.0.29
- 5.0.28
- 5.0.27
- 5.0.26
- 5.0.25
- 5.0.24
- 5.0.23
- 5.0.22
- 5.0.21
- 5.0.20
- 5.0.19
- 5.0.18
- 5.0.17
- 5.0.16
- 5.0.15
- 5.0.14
- 5.0.13
- 5.0.12
- 5.0.11
- 5.0.10
- 5.0.9
- 5.0.8
- 5.0.7
- 5.0.6
- 5.0.5
- 5.0.4
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.0.x-dev
- 4.0.2
- 4.0.1
- 4.0.0
- 3.0.9
- 3.0.8
- 3.0.7
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.9.4
- 2.9.3
- 2.9.2
- 2.9.1
- 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.x-dev
- 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.x-dev
- 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
This package is auto-updated.
Last update: 2024-08-25 17:31:48 UTC
README
TypiCMS 是一个模块化多语言内容管理系统,使用 Laravel 构建。开箱即用,您可以管理页面、事件、新闻、地点、菜单、翻译等。
目录
功能
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 >= 7.2
- MySQL 5.7.8
- BCMath PHP扩展
- Ctype PHP扩展
- JSON PHP扩展
- Mbstring PHP扩展
- OpenSSL PHP扩展
- PDO PHP扩展
- Tokenizer PHP扩展
- XML PHP扩展
安装
首先安装 Composer
-
创建新项目
composer create-project typicms/base mywebsite
-
进入新创建的文件夹
cd mywebsite
-
数据库迁移、种子、用户创建、npm安装和目录权限
php artisan typicms:install
注意:如果您使用MariaDB,请在config/typicms.php中将'mariadb'设置为true
转到 http://mywebsite.test/admin 并登录。
资源
使用 Laravel Mix 管理资源。为了处理资源,您需要安装 Node.js,然后转到您的网站文件夹并运行以下命令
-
安装npm包(在目录 node_modules 中)
npm install
-
编译管理和公共资源
npm run dev
地区配置
- 在config/typicms.php中设置地区,该数组的第一个键是主地区,应与config/app.php中定义的地区相同。
- 在config/typicms.php中将main_locale_in_url设置为true或false。
模块安装
此示例适用于新闻模块。完成这些步骤后,模块将出现在后台办公室的侧边栏中。如果您需要自定义它,可以发布它!
-
使用Composer安装模块
composer require typicms/news
-
将
TypiCMS\Modules\News\Providers\ModuleServiceProvider::class,
添加到 config/app.php,在TypiCMS\Modules\Core\Providers\ModuleServiceProvider::class,
之前 -
发布视图和迁移
php artisan vendor:publish
-
迁移数据库
php artisan migrate
模块脚手架
让我们创建一个名为Cats的模块。
-
使用Artisan创建模块
php artisan typicms:create cats
-
模块位于 /Modules/Cats,您可以自定义它
-
将
TypiCMS\Modules\Cats\Providers\ModuleServiceProvider::class,
添加到 config/app.php,在TypiCMS\Modules\Core\Providers\ModuleServiceProvider::class,
之前 -
迁移数据库
php artisan migrate
可用模块
每个模块都可以发布。
页面
页面可以通过拖放进行嵌套,在放置时,会生成并保存到数据库中的URI。每个页面的翻译都有自己的路由。一个页面可以链接到一个模块。一个页面可以有多个部分。
菜单
每个菜单都有可嵌套的条目。一个条目可以链接到一个页面或URL。您可以使用Menus::render('menuname')
或@menu('menuname')
返回一个HTML格式的菜单。
项目
项目有分类,项目URL遵循以下模式:/en/projects/category-slug/project-slug
标签
标签与项目相关联并使用Selectize插件。标签模块具有多对多多态关系,因此标签可以轻松地链接到任何模块。
事件
事件有开始和结束日期。
新闻
新闻模块。
联系人
前端联系表单和后台记录管理。
合作伙伴
合作伙伴有一个标志,网站URL,标题和正文内容。
文件
文件模块允许您上传和组织图像、文档和文件夹。它使用DropzoneJS进行上传过程。由于Croppa,会动态生成缩略图。
如果您想将原始图像存储在Amazon s3等存储服务上,并将裁剪后的图像存储在本地磁盘上,请在您的.env
文件中将FILESYSTEM_DRIVER=s3
设置为true,并在config/croppa.php
中设置'src_dir' => 'filesystem.default.driver'
和'crops_dir' => storage_path('app/public')
。
用户和角色
可以通过设置面板(/admin/settings)启用用户注册。角色和权限使用spatie/laravel-permission管理。
块
块很有用,可以在视图中显示自定义内容。您可以使用Blocks::render('blockname')
或@block('blockname')
显示块的内容。
翻译
可以通过管理员面板(/admin/translations)将翻译存储在数据库中。
您可以使用标准的Laravel函数从数据库中获取翻译:__('Key')
、trans('Key')
或@lang('Key')
。
网站地图
通过读取项目中可用的所有页面来生成网站地图。URL是/sitemap.xml。
设置
在设置面板中更改网站标题、标志和其他选项。
历史
创建、更新、删除、在线和离线操作记录在数据库中。最新记录在后台仪表板中显示。
外观
每个模块都有一个外观,它为您提供对存储库的访问。例如,您可以使用News::latest(3)
获取最新三条新闻。检查每个模块存储库中的可用方法。
Artisan命令
命令位于/vendor/typicms/core/src/Commands
TypiCMS安装
php artisan typicms:install
初始迁移和种子
php artisan typicms:database
此命令由typicms:install
触发
发布模块
如果您想修改模块,例如添加一些字段或关系,您必须通过运行来发布它
php artisan typicms:publish <modulename>
现在模块位于/Modules目录中。
以下步骤将被执行
- 发布页面模块的视图和迁移。
- 从/vendor/typicms/pages/src复制除了视图和迁移之外的所有内容到/Modules/Pages。
- 运行
composer remove typicms/pages
。
当模块发布时,它将被git跟踪,您可以在/Modules/Modulename目录中做出更改,而不会在运行composer update
时丢失更改。
变更日志
有关已更改内容的更多信息,请参阅CHANGELOG。
贡献
有关详细信息,请参阅CONTRIBUTING。
致谢
许可协议
TypiCMS是一个开源软件,根据MIT许可协议许可。