承接 aimeos/ai-cms-grapesjs 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

aimeos/ai-cms-grapesjs

Composer 安装命令:

composer require aimeos/ai-cms-grapesjs

包简介

Aimeos GrapesJS CMS extension

README 文档

README

Aimeos logo

Aimeos GrapesJS CMS

Build Status Coverage Status Scrutinizer Code Quality License

The Aimeos GrapesJS CMS extension provides a simple to use but powerful page editor for creating content pages based on extensible components.

Installation

As every Aimeos extension, the easiest way is to install it via composer. If you don't have composer installed yet, you can execute this string on the command line to download it:

php -r "readfile('https://getcomposer.org/installer');" | php -- --filename=composer

To add the extionsion to your composer-based installation, execute:

composer req "aimeos/ai-cms-grapesjs"

These command will install the Aimeos extension into the extension directory and it will be available after you execute the database migration:

Aimeos CMS

Integration

Laravel

First, you have to create the new tables required for the pages by executing this command in the root directory of your Laravel application:

php artisan aimeos:setup

Then, you need to uncomment the page section in your config/shop.php and add cms/page to the list of components if it's not already there. Add cms/page to all pages where you want to display CMS content, e.g.:

'catalog-home' => [ 'cms/page','locale/select','basket/mini','catalog/tree','catalog/search','catalog/home' ],

To show the content for the CMS page URLs, you have to add this at the end of the ./routes/web.php file in your Laravel application:

Route::match(['GET', 'POST'], '{path?}', '\Aimeos\Shop\Controller\PageController@indexAction')
    ->name('aimeos_page')->where( 'path', '.*' );

In multi-language setups, you should add the locale as parameter to the route:

Route::match(['GET', 'POST'], '{locale}/{path?}', '\Aimeos\Shop\Controller\PageController@indexAction')
    ->name('aimeos_page')->where( 'path', '.*' );

When using a multi-vendor setup, then use one of these alternatives:

// prefix: yourdomain.com/vendor1
Route::group(['prefix' => '{site}', 'middleware' => ['web']], function () {
    Route::match(['GET', 'POST'], '{path?}', '\Aimeos\Shop\Controller\PageController@indexAction')
        ->name('aimeos_page')->where( 'path', '.*' )->where( ['site' => '[a-z0-9\-]+'] );
});

// subdomain: vendor1.yourdomain.com
Route::group(['domain' => '{site}.yourdomain.com', 'middleware' => ['web']], function () {
    Route::match(['GET', 'POST'], '{path?}', '\Aimeos\Shop\Controller\PageController@indexAction')
        ->name('aimeos_page')->where( 'path', '.*' )->where( ['site' => '[a-z0-9\-]+'] );
});

// custom domain: vendor1.com
Route::group(['domain' => '{site}', 'middleware' => ['web']], function () {
    Route::match(['GET', 'POST'], '{path?}', '\Aimeos\Shop\Controller\PageController@indexAction')
        ->name('aimeos_page')->where( 'path', '.*' )->where( ['site' => '[a-z0-9\.\-]+'] );
});

This will add a "catch all" route for every URL that hasn't been matched before so don't put routes after that line because they won't be used any more!

ReCAPTCHA integration

Use use Google reCAPTCHA v3 (invisible CAPTCHA) for all forms in CMS pages, you need to merge this configuration into your ./config/shop.php (Laravel):

[
    'resource' => [
        'recaptcha' => [
            'secretkey' => '...',
            'sitekey' => '...'
        ]
    ],
    'client' => [
        'html' => [
            'cms' => [
                'page' => [
                    'decorators' => [
                        'local' => [
                            'Recaptcha' => 'Recaptcha'
                        ]
                    ],
                ]
            ]
        ]
    ]
]

The secretkey and sitekey are generated in your Google account. Make sure, you also add all your domains to the list of allowed domains!

Potential problems

Page with contact form expired

Due to potential security risks, you must not be logged into the admin backend when using the contact form. Otherwise, you will get a "419 page expired" error page. Thus, make sure you are logged out of the admin backend before sending a contact request.

aimeos/ai-cms-grapesjs 适用场景与选型建议

aimeos/ai-cms-grapesjs 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 118.18k 次下载、GitHub Stars 达 1.02k, 最近一次更新时间为 2021 年 02 月 12 日, 在 PHP 生态内属于活跃度较高的组件。

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

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

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

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

  • 总下载量: 118.18k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1022
  • 点击次数: 9
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 1022
  • Watchers: 3
  • Forks: 22
  • 开发语言: PHP

其他信息

  • 授权协议: LGPL-3.0
  • 更新时间: 2021-02-12