uniben / cms
Laravel前端内容管理系统,允许您将任何模型属性作为可编辑字段显示在您的前端。
dev-master
2020-02-12 23:54 UTC
Requires
- ext-json: *
- illuminate/database: ^5.2
- illuminate/encryption: ^5.2
- illuminate/support: ^5.2
- laravel/helpers: ^1.1
This package is auto-updated.
Last update: 2024-09-13 10:00:19 UTC
README
允许您将可编辑内容输出到页面的内容管理系统。
安装
$ composer require uniben/cms
示例
$model->field // Field value
$model->field->title('Default value', 'h2', ['class' => 'example', 'rand']) // Output <h2 class="example ..." rand data-edtable="...">Field value</h2>
$model->field->image() // Output <video class="..." data-edtable="..."><source src="..." type="..."><source ...></h2>
限制可编辑功能
允许所有人编辑特定模型
class X extends Editable { public function canEdit() { return true; } }
仅允许登录用户编辑
class X extends Editable { public function canEdit() { return auth()->user(); // Could even check their permissions here? } }
贡献
为了方便地安装开发环境,您可以使用Docker运行。Dockerfile将为您安装Laravel和包,以及一个临时数据库。
安装
$ make install
开始
docker-compose up -d
访问 localhost:8080
工作原理
当渲染可编辑字段时,它会分配一个ID,该ID映射到模型类型、模型ID和更新字段。当进行更新/保存操作时,属于同一模型的可编辑字段将被汇总到一个数组中,并发送到更新控制器。
待办事项
- 将可编辑类型渲染方法切换到视图,而不是在方法内生成。
- 处理创建新产品时从可编辑字段返回的重定向响应。
- 使用VueX使前端可编辑字段响应式。
- 使用UniBen/laravel-graphqlable实现易于使用的文档化API。
- 使用标准库使wwyswig和图片上传字段工作。
- 改进可编辑类型缓存和管理员中的查询。
- 使可编辑字段可修订。
- 提高代码质量。
- 目标:100%代码覆盖率
- 通过服务提供商使可编辑类型的动态注册变得容易。
- 尽可能减少JS包的大小。
- 移除服务器端渲染的可编辑字段,并使用具有SSR的Vue组件来简化流程。