uniben/cms

Laravel前端内容管理系统,允许您将任何模型属性作为可编辑字段显示在您的前端。

维护者

详细信息

github.com/UniBen/CMS

源代码

问题

dev-master 2020-02-12 23:54 UTC

This package is auto-updated.

Last update: 2024-09-13 10:00:19 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

允许您将可编辑内容输出到页面的内容管理系统。

安装

$ 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组件来简化流程。