softspring/symfonic

强大的Symfony CMS

安装: 16

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 2

语言:SCSS


README

en es

Symfonic

强大的Symfony CMS。

索引

  1. 为什么选择Symfonic
  2. 如何安装和使用Symfonic
    1. 在干净的Symfony项目中使用Symfonic
    2. 与Sylius项目一起使用Symfonic
  3. 添加更多组件

1. 为什么选择Symfonic

  • 使用简单或复杂的块结构设计布局,并在不同的页面或部分中重复使用。
  • 通过组合您自己创建的模块或使用我们提供的模块来创建页面。
  • 对于不同页面上的常见部分,使用我们可重复使用的块概念简化创建。
  • 管理同一页面的多个版本,并在不担心出错的情况下预览更改,当您对最终版本满意时再发布!
  • 所有这些都从第一个块开始,具有语义化的网站,响应式,多站点,多语言和SEO优化。

2. 如何安装和使用Symfonic

2.1 在干净的Symfony项目中使用Symfonic

安装Symfony

按照https://symfony.com.cn/doc/current/setup.html中的当前说明安装Symfony

symfony new my-symfonic-project --version="6.2.*" --webapp

以前的配置

要使用CMS,我们需要一个MySQL数据库(PostgreSQL也应该兼容)。

在Docker中配置数据库

我们将使用项目附带的自定义文件docker-compose.yaml

注意 这些是开发值,不适合生产。

version: '3'

services:
###> doctrine/doctrine-bundle ###
  database:
    image: "mysql:8.0"
    environment:
      MYSQL_ROOT_PASSWORD: nopassword
      MYSQL_DATABASE: cms
      MYSQL_USER: test
      MYSQL_PASSWORD: nopassword
    ports:
      - 3306:3306
    volumes:
      - database_data:/var/lib/mysql
###< doctrine/doctrine-bundle ###

volumes:
###> doctrine/doctrine-bundle ###
  database_data:
###< doctrine/doctrine-bundle ###

我们可以开始容器

docker-compose up -d
配置环境值

在.env中更改MySQL数据库的值

###> doctrine/doctrine-bundle ###
DATABASE_URL="mysql://test:nopassword@127.0.0.1:3306/cms?serverVersion=8.0&charset=utf8mb4"
###< doctrine/doctrine-bundle ###

配置Softspring的Symfony Flex(用于开发)

注意 当Softspring的Symfony Flex食谱集成到contrib存储库时,此步骤将不再需要

在composer.json中,我们添加端点并将allow-contrib设置为true

{
    "extra": {
        "symfony": {
            "allow-contrib": true,
            "require": "6.2.*",
            "endpoint": ["https://api.github.com/repos/softspring/recipes/contents/index.json", "flex://defaults"]
        }
    }
}

临时

直到我们发布版本5.3的包,我们不得不包含(在composer.json中)

{
    "minimum-stability": "dev"
}

配置webpack

注意 如果我们没有安装yarn,我们需要在安装它之前安装它。在Ubuntu < 18.04中,yarnpkg和cmdtest包之间存在一些问题

composer require webpack
yarn install
yarn add @popperjs/core bootstrap bootstrap-icons underscore.string sass-loader@^13.0.0 sass --dev
在webpack中配置管理器

在文件webpack.config.js中

Encore
    // ...

    // add admin.js
    .addEntry('admin', './assets/admin.js')

    // ...
    
    // uncomment sass loader
    .enableSassLoader()
    
    // ...

安装symfonic

composer require softspring/symfonic:^5.3@dev
bin/console doctrine:migrations:migrate -n

注意 如果我们遇到驱动程序错误,我们需要在我们的php版本中安装php-mysql。

我们安装额外的模块

composer require softspring/cms-module-collection:^5.3

然后编译资源

yarn build

Symfony flex应该已经完成所有工作,我们将有一个准备就绪的项目,我们可以可视化它。

一些调整(目前)

为了让应用程序正常工作,我们必须包括framework.enabled_locales

# config/packages/translation.yaml
framework:
    enabled_locales: ['en', 'es']

我们无法通过Symfony Flex食谱覆盖templates/base.html.twig,因此您必须手动更改它(直到我们找到另一种解决方案)。目前

{# templates/base.html.twig #}
{% extends '@SfsComponents/base.html.twig' %}

我们可以启动应用程序

我们将使用Symfony CLI命令来提供服务

symfony server:start

完成此操作后,我们将在https://127.0.0.1:8000/上遇到未找到错误。

如果转到https://127.0.0.1:8000/admin/cms/pages,我们将能够配置我们的第一个页面。