redooor / redminportal
RedminPortal 是一个用于内容管理和电子商务网站的的后台管理工具。
Requires
- php: >=7.1.3
- doctrine/dbal: ~2.13
- fideloper/proxy: ^4.0
- james-heinrich/getid3: ^1.9.11
- laravel/framework: 5.8.*
- laravelcollective/html: 5.8.*
- maatwebsite/excel: ~3.0
- orchestra/imagine: ~3.6
Requires (Dev)
- filp/whoops: ~2.0
- mockery/mockery: ~1.0
- orchestra/testbench: ~3.8
- orchestra/testbench-browser-kit: ^3.8
- phpunit/phpunit: ^7.5
- symfony/css-selector: ^4.0
- symfony/dom-crawler: ^4.0
This package is not auto-updated.
Last update: 2024-09-28 16:10:03 UTC
README
RedminPortal by Redooor
一个作为内容管理和电子商务网站的后台管理工具的 Laravel 5 包。您可以使用它添加、编辑和删除类别、产品、促销等。提供用户界面来管理用户和组。
RedminPortal 当前支持 Laravel 5.8。请参阅兼容性。
目录
#兼容性
开发重点将是支持 Laravel 版本 5.8 的分支 0.58。
分支 v0.1、0.2、0.3 和 0.4 的开发已停止。请升级到后续版本。
重要提示
版本 >=0.3.2 和 >=0.2.2 可能 由于 UserPricelist 的更改而破坏您的前端。请参阅 UPGRADE.md 了解升级说明。
版本 0.58 与版本 0.3 兼容。
版本 0.3 与版本 0.2 兼容。
版本 0.3 和 0.2 与版本 0.1 兼容性 有限。请参阅 UPGRADE.md。
从 v0.1 升级?
我们包括了一些数据库迁移来将数据库升级到支持 v0.2/v0.3/v0.58。但是,请自行承担风险。升级脚本未经过充分测试,可能不完整。如果您发现缺少某些内容,请通过问题票据向我们报告。我们也欢迎任何贡献。
请参阅 UPGRADE.md 了解升级说明。
模型和功能
用户管理
- 用户
- 组
- 邮件列表
内容管理
- 公告
- 页面
- 作品集
- 帖子
- 促销
在线商店(实体产品)
- 套餐
- 类别
- 优惠券
- 订单
- 产品(现在支持变体)
会员订阅(数字产品)
- 套餐
- 类别
- 优惠券
- 媒体
- 会员
- 模块
- ModuleMediaMembership
- 订单
购买(已弃用,由订单替代)- 价格表
多态
- 图像
- 修订(新功能!现在跟踪订单更改)
- 标签
- 翻译
特质
- 可允许的
- 可修订的
类
- 文件
- 体积
- 重量
- Imagine
- Redminportal(在 blade 模板中用作别名)
助手
- RHelper
RImage(已由 Classes/Imagine 替代,保留以支持向后兼容)
门面
- Redminportal
可下载的报告
- 购买和邮件列表的可下载 CSV 报告。
翻译选项
类别、模块、媒体、产品、促销和作品集中有翻译选项。
您可以在路径下的翻译配置文件中添加更多语言
vendor\redooor\redminportal\src\config\translation.php
或者如果您已将其发布到根目录
root\config\packages\redooor\redminportal\translation.php
要使用它,获取模型的翻译并使用 json_decode 将内容转换为对象,如下所示
foreach ($product->translations as $translation) {
$lang = $translation->lang;
$translated = json_decode($translation->content);
var_dump($translated->name, $translated->short_description, $translated->long_description);
}
用户安装指南
您可以使用以下命令安装 Laravel 版本 5.8
composer create-project laravel/laravel myproject 5.8.*
-
将 Redminportal 添加到新 Laravel 应用的 composer.json 的 "require" 部分。如下所示
"require": { "laravel/framework": "5.8.*", "redooor/redminportal": "0.58.[*|specify a version]" },
注意
建议指定小版本(例如 0.58.0),以便更好地控制。尽管我们尽量保持与旧版本的最大兼容性,但每个版本都添加了许多更改,因此有时可能会破坏您的前端代码。
-
然后在终端中运行
php composer update [--prefer-dist]
。使用
--prefer-dist
仅包含必需的文件(即排除测试)。 -
现在,编辑您的 [root]\config\app.php 提供者和别名数组如下
'providers' => array( Illuminate\Foundation\Providers\ArtisanServiceProvider::class, ... omitted ... // Add this line Redooor\Redminportal\RedminportalServiceProvider::class, ),
-
然后在终端中运行
php composer dump-autoload
。 -
在终端中运行以下命令以执行 Redminportal 的数据库迁移
php artisan vendor:publish --provider="Redooor\Redminportal\RedminportalServiceProvider" --tag="migrations" [--force] php artisan migrate --path=/database/migrations/vendor/redooor/redminportal
注意:使用 --force 将会覆盖现有文件
-
在终端中运行以下命令以使用初始管理员用户名和密码填充数据库
php artisan db:seed --class="RedminSeeder" Username/password: admin@admin.com/admin
-
通过在终端中运行以下命令发布包资源
php artisan vendor:publish --provider="Redooor\Redminportal\RedminportalServiceProvider" --tag="public" [--force]
注意:使用 --force 将会覆盖现有文件
-
通过在终端中运行以下命令发布包配置
php artisan vendor:publish --provider="Redooor\Redminportal\RedminportalServiceProvider" --tag="config" [--force]
注意:使用 --force 将会覆盖现有文件
重要
该包将在您的
auth
配置中附加必要的守卫和提供者。如果您已添加名为redminguard
的守卫和名为redminprovider
的提供者,它们将被包的设置所替换。如果您打算使用自己的
auth
配置,但希望使用 Redminportal 进行身份验证,您需要在您的auth
配置中添加以下守卫'defaults' => [ 'guard' => 'web', // or it could be 'redminguard' 'passwords' => 'redminpasswords', ],
'guards' => [ 'redminguard' => [ 'driver' => 'session', 'provider' => 'redminprovider', ], 'web' => [ 'driver' => 'session', 'provider' => 'redminprovider', ], ],
'providers' => [ 'redminprovider' => [ 'driver' => 'eloquent', 'model' => Redooor\Redminportal\App\Models\User::class, ], ],
'passwords' => [ 'redminpasswords' => [ 'provider' => 'redminprovider', 'email' => 'auth.emails.password', 'table' => 'password_resets', 'expire' => 60, ], ],
-
可选:通过在终端中运行以下命令发布包视图
只有当您想在不修改源代码的情况下修改 Redminportal 视图时才这样做。
php artisan vendor:publish --provider="Redooor\Redminportal\RedminportalServiceProvider" --tag="views" [--force]
注意:使用 --force 将会覆盖现有文件
贡献者安装指南
建议贡献者使用 Laravel Homestead 进行开发,因为它将为所有人提供相同的发展环境。有关 Laravel Homestead 的更多信息,请参阅 这里。
对于 Mac 用户,您可能想尝试 Laravel Herd。
- 使用 此指南 安装 Laravel 5.8。我们将称此为 [root]。
您可以使用以下命令安装 Laravel 版本 5.8
composer create-project laravel/laravel myproject 5.8.*
-
在 [root] 文件夹内创建一个名为 "packages" 的文件夹。
-
将 Redooor\Redminportal 仓库克隆到 [root]\packages\redooor\redminportal 文件夹。
-
打开终端,cd 到 [root]\packages\redooor\redminportal 文件夹,然后运行
composer update --prefer-dist -vvv --profile
-
然后将 Redooor\Redminportal 源添加到 [root] 的 composer.json 中的 "autoload" 部分,如下所示
"autoload": { "classmap": [ "database" ], "psr-4": { "App\\": "app/", "Redooor\\Redminportal\\": "packages/redooor/redminportal/src" } },
-
然后 cd 到 [root] 文件夹并运行
composer update --prefer-dist -vvv --profile --no-dev
注意:[root] 的 phpunit 依赖项将与包的 phpunit 冲突。"
--no-dev
" 确保它不会在 [root] 上安装。您还可以选择从 [root] 的 composer.json 中的 "require" 移除 phpunit。 -
现在,编辑您的 [root]\config\app.php 提供者和别名数组如下
'providers' => array( Illuminate\Foundation\Providers\ArtisanServiceProvider::class, ... omitted ... // Add this line Redooor\Redminportal\RedminportalServiceProvider::class, ),
-
在 [root] 文件夹内运行以下命令以执行 Redminportal 的数据库迁移
php artisan vendor:publish --provider="Redooor\Redminportal\RedminportalServiceProvider" --tag="migrations" [--force] php artisan migrate --path=/database/migrations/vendor/redooor/redminportal
注意:使用 --force 将会覆盖现有文件
-
在终端中运行以下命令以使用初始管理员用户名和密码填充数据库
php artisan db:seed --class="RedminSeeder" Username/password: admin@admin.com/admin
-
通过在终端中运行以下命令发布包资源
php artisan vendor:publish --provider="Redooor\Redminportal\RedminportalServiceProvider" --tag="public" [--force]
注意:使用 --force 将会覆盖现有文件
-
通过在终端中运行以下命令发布包配置
php artisan vendor:publish --provider="Redooor\Redminportal\RedminportalServiceProvider" --tag="config" [--force]
注意:使用 --force 将会覆盖现有文件
-
可选:通过在终端中运行以下命令发布包视图
只有当您想在不修改源代码的情况下修改 Redminportal 视图时才这样做。
php artisan vendor:publish --provider="Redooor\Redminportal\RedminportalServiceProvider" --tag="views" [--force]
注意:使用 --force 将会覆盖现有文件
安装 Grunt 和 Bower 依赖项
- 您需要安装 nodejs
- cd 到 packages/redooor/redminportal
- 运行 npm install
- 运行 bower install
- 要构建所有资源,运行 grunt
- 要仅编译 less css,运行 grunt less-compile
测试
-
在 packages\redooor\redminportal 文件夹中运行
composer update --prefer-dist -vvv --profile vendor/bin/phpunit
注意:如果在运行完整测试时内存不足,请尝试按子文件夹运行测试。
vendor/bin/phpunit tests/models/ vendor/bin/phpunit tests/controllers/ vendor/bin/phpunit tests/relationships/ ./vendor/bin/phpunit --testsuite "suite1","suite2" ./vendor/bin/phpunit --testsuite "suite3","suite4"
版本控制
为了提高发布周期的透明度并努力保持向后兼容性,Redooor RedminPortal 将尽可能遵循 语义化版本控制指南。
贡献
感谢您考虑为 RedminPortal 贡献。在提交之前,请花些时间阅读 CONTRIBUTING.md 文档。
创建者
Andrews Ang
许可证
RedminPortal 是开源软件,根据 MIT 许可证 许可。
使用的第三方库
- Bootstrap v3
- Font Awesome 4.4.0 by @davegandy
- jQuery v2
- jQuery UI v1
- illuminate/html
- maatwebsite/excel
- Imagine
- Jasny Bootstrap
- Plupload
- getID3
变更日志
请参阅CHANGELOG.md
升级指南
请参阅UPGRADE.md