clarity-tech/cms 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

clarity-tech/cms

Composer 安装命令:

composer require clarity-tech/cms

包简介

:package_description

关键字:

README 文档

README

Installation

To install and use the package in your laravel project, follow the steps below:

  1. In your project's composer.json add the following code:

    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/clarity-tech/cms-base"
        }
    ]
  2. Require the package via Composer:

    composer require clarity-tech/cms
  3. Run the migrations:

    php artisan migrate

Configuration

Publishing

If you wish to publish config, migrations etc.

  1. Publish the package configuration:

    php artisan vendor:publish --provider="ClarityTech\Cms\CmsServiceProvider" --tag="cms.config"
  2. Publish the package migrations:

    php artisan vendor:publish --provider="ClarityTech\Cms\CmsServiceProvider" --tag="cms.migrations"

Filament Admin Panel

If you wish to use filament admin panel, add the following codes in your project's admin panel provider:

use ClarityTech\Cms\Filament\Admin\Resources\ContentResource;
use ClarityTech\Cms\Filament\Admin\Resources\TaxonomyResource;
use ClarityTech\Cms\Filament\Admin\Resources\CommentResource;

// $panel
->resources([
	ContentResource::class,
	TaxonomyResource::class,
    CommentResource::class
])

Config file

You can change the cms.php file in config directory:

  1. middlewares: Add middlewares as per your need.
  2. features: Enable or disable features - API and Filament admin panel.
  3. routes: Customize route path by modifying prefix.
  4. models: You can have your own models and use those.
  5. actions: You can add your own actions as well.
  6. taxonomy_types: You decide what taxonomy types you want to have.

Usage

Basic Usage

Creating Content

To create a new piece of content programmatically:

use ClarityTech\Cms\Contracts\CreatesContents;
use ClarityTech\Cms\DataTransferObjects\ContentData;

$data = new ContentData([
    'title' => 'Sample Title',
    'slug' => 'sample-slug',
    'excerpt' => 'Sample Excerpt',
    'content' => 'Sample Content',
    'meta_tags' => ['tag1', 'tag2'],
    'custom_properties' => ['key' => 'value'],
    'order_column' => 1,
    'type' => 'article',
    'layout' => 'single',
    'created_by' => 1,
    'updated_by' => null,
    'deleted_by' => null,
    'published_at' => now(),
]);

app(CreatesContents::class)->create($data);

Updating Content

use ClarityTech\Cms\Contracts\UpdatesContents;
use ClarityTech\Cms\DataTransferObjects\ContentData;

$data = new ContentData([
    'title' => 'Sample Title Updated',
    'slug' => 'sample-slug-updated',
    'excerpt' => 'Sample Excerpt',
    'content' => 'Sample Content',
    'meta_tags' => ['tag1', 'tag2'],
    'custom_properties' => ['key' => 'value'],
    'order_column' => 1,
    'type' => 'article',
    'layout' => 'single',
    'updated_by' => 1,
    'deleted_by' => null,
    'published_at' => now(),
]);

app(UpdatesContents::class)->update($id, $data);

API Usage

The package provides RESTful API endpoint for getting contents.

  1. List all contents

    GET /api/cms/contents
    
  2. List specific content

    GET /api/cms/contents/{slug}
    

The package provides RESTful API endpoints for comments.

  1. Create a new comment

    POST /api/cms/contents/sample-title/comments
    

    Body:

    {
        "user_id": 1,
        "comment": "This is a test comment",
        "commentable_type": "ClarityTech\\Cms\\Models\\Content",
        "commentable_id": 1,
        "ip": "192.168.1.1",
        "is_approved": 1
    }

    Success response:

    201 Created

    {
        "user_id": 1,
        "comment": "This is a test comment",
        "commentable_type": "ClarityTech\\Cms\\Models\\Content",
        "commentable_id": 1,
        "ip": "192.168.1.1",
        "is_approved": true,
        "updated_at": "2024-08-22T12:44:03.000000Z",
        "created_at": "2024-08-22T12:44:03.000000Z",
        "id": 3
    }
  2. List all comments for a specific content

    GET /api/cms/contents/{slug}/comments
    

    Success response:

    200 Ok

    {
        "data": [
            {
                "id": 1,
                "user_id": 1,
                "ip": null,
                "is_approved": true,
                "comment": "This is a test comment",
                "created_at": "2024-08-20T18:31:57.000000Z",
                "updated_at": "2024-08-21T20:14:04.000000Z",
                "deleted_at": null
            },
            {
                "id": 2,
                "user_id": 1,
                "ip": null,
                "is_approved": false,
                "comment": "Nice comment",
                "created_at": "2024-08-20T18:31:57.000000Z",
                "updated_at": "2024-08-21T20:20:03.000000Z",
                "deleted_at": null
            }
        ]
    }
  3. Get a specific comment

    GET /api/cms/comments/{id}
    

    Success response:

    200 Ok

    {
        "data": {
            "id": 1,
            "user_id": 1,
            "ip": null,
            "is_approved": true,
            "comment": "This is a test comment",
            "created_at": "2024-08-20T18:31:57.000000Z",
            "updated_at": "2024-08-21T20:14:04.000000Z",
            "deleted_at": null
        }
    }
  4. Update a specific comment

    PUT /api/cms/comments/{slug}
    

    Body:

    {
        "comment": "Updated comment"
    }

    Success response:

    202 Accepted

    {
        "id": 1,
        "user_id": 1,
        "ip": null,
        "is_approved": true,
        "comment": "Updated comment",
        "commentable_type": "ClarityTech\\Cms\\Models\\Content",
        "commentable_id": 1,
        "created_at": "2024-08-20T18:31:57.000000Z",
        "updated_at": "2024-08-22T13:31:51.000000Z",
        "deleted_at": null
    }
  5. Delete a specific comment

    DELETE /api/cms/comments/{slug}
    

    Success response:

    204 No Content

Admin Panel Usage

If you have Filament installed, you can access and manage your contents, taxonomies etc through the Filament interface.

Just go to /admin.

Change log

Please see the changelog for more information on what has changed recently.

Testing

composer test

Contributing

Please see contributing.md for details and a todolist.

Security

If you discover any security related issues, please email author@email.com instead of using the issue tracker.

Credits

License

MIT. Please see the license file for more information.

clarity-tech/cms 适用场景与选型建议

clarity-tech/cms 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 10 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 04 月 15 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「cms」 「laravel」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 clarity-tech/cms 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 clarity-tech/cms 我们能提供哪些服务?
定制开发 / 二次开发

基于 clarity-tech/cms 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 10
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 27
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-04-15