loicpennamen/sf-front-editor

Symfony的内容编辑器。

安装: 941

依赖: 0

建议者: 0

安全性: 0

类型:symfony-bundle

1.2.0 2021-06-09 12:06 UTC

This package is auto-updated.

Last update: 2024-09-18 17:56:01 UTC


README

这是一个用于Symfony 4+应用的“页面内”内容编辑器。此包旨在为用户提供一个快速RTE编辑器,以HTML块的形式,从而提高内容整合和网页设计。

RTE可通过具有特定权限的登录用户访问。这些用户可以实时通过WYSIWYG编辑器更新内容。

然后内容被保存在/var目录下的硬文件中,并自动生成备份(即,"旧"内容将被自动删除)。

由于HTML内容存储在/var文件夹下,版本控制默认可以跟踪编辑。文件名包含时间戳,因此生产环境中编辑的内容不会覆盖版本化内容,也可以在其端进行版本化。

安装

  • 使用composer添加到您的项目中

      composer require loicpennamen/sf-front-editor
    
  • 将所需的资源包含在您的应用程序的javascript app.js

      require('../../vendor/loicpennamen/sf-front-editor/sf-front-editor');
    
  • CKEditor的稳定版本包含在包中,需要复制到public文件夹下。将这些添加到您的 webpack.config

      module.exports = {
          // (...)
      
          plugins: [          
              // (...)
    		
              new CopyPlugin({
                  patterns: [
                      { from: "./vendor/loicpennamen/sf-front-editor/assets/required", to: "assets/skins" },
                  ],
              }),
      
          ]
      }
    
  • /config/routes.yaml 中添加路由

      sfe:
        resource: '../vendor/loicpennamen/sf-front-editor/Controller/'
        type: annotation
    
  • 添加Twig模板文件夹 `/config/packages/twig.yaml`

      twig:
        paths:
          'vendor/loicpennamen/sf-front-editor/templates': FrontEditorBundle
    
  • 为一些用户提供ROLE_FRONT_EDITOR角色以允许修改任何内容。例如在 `security.yml` 中

      role_hierarchy:
        ROLE_ADMIN: ROLE_FRONT_EDITOR
    
  • 要在Twig模板中显示可编辑的内容块,请使用此函数

      {{ sfe('my_block_slug') }}
    

    my_block_slug的值可以是任何包含小写字母、数字、破折号(-)和下划线(_)的字符串。它是内容的唯一标识符,用于所有可用语言。即,您不需要创建slug_enslug_es,包将处理这部分。

  • 默认情况下使用当前语言。要指定另一种语言,请将区域设置作为第二个参数传递

      {{ sfe('my-block-slug', 'fr') }}
    
  • 可以使用CSS中的类前缀 sfe- 覆盖样式

    • sfe-front-button : 打开编辑模态的按钮
    • sfe-content-wrapper : 在前端围绕内容的HTML包装器
    • sfe-content-wrapper-editable : 允许编辑时的HTML包装器
    • sfe-toolbar : 当用户被允许编辑时,出现在内容上方的工具栏

待办事项

  • 添加文件管理器
  • 允许自定义配置
  • 翻译
  • 添加文件元数据(作者)并在历史记录中显示
  • 处理Ctrl-S
  • 通过添加SF食谱简化安装
  • 将SF...plugins重命名为SFE...
  • 在app.js中调试删除“删除视频”按钮

开发

在开发期间,使用 npm install 安装资产,然后使用 node_modules\.bin\webpack.cmd 观察。

我该和谁联系?

Loïc Pennamen
http://loicpennamen.com