Git Product home page Git Product logo

cms-reborn's Introduction

Запуск в Docker

Документация тут docker.md

Создание юзера

Посмотреть список всех пользователей:

bin/console user:list

Создание юзера:

bin/console user:add

Назначить роль пользователю, например: ROLE_SUPER_ADMIN

bin/console user:role:promote <username> <role>

Для запуска команд в докере, нужно перед командой написать: docker-compose run php итого формат будет такой:

docker-compose run --rm php <command>
# например:
docker-compose run --rm php bin/console user:list

Подключение CMS в проект

Загрузка конфигов:

// App\Kernel.php

// ...
    protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader): void
    {
        $container->addResource(new FileResource($this->getProjectDir().'/config/bundles.php'));
        $container->setParameter('container.dumper.inline_class_loader', \PHP_VERSION_ID < 70400 || $this->debug);
        $container->setParameter('container.dumper.inline_factories', true);
        $confDir = $this->getProjectDir().'/config';

        // Загрузка конфигов CMS.
        $confDirCms = $this->getBundle('CMSBundle')->getPath().'/Resources/config';
        $loader->load($confDirCms.'/{packages}/*'.self::CONFIG_EXTS, 'glob');
        $loader->load($confDirCms.'/{packages}/'.$this->environment.'/**/*'.self::CONFIG_EXTS, 'glob');

        // Потом конфиги приложения.
        $loader->load($confDir.'/{packages}/*'.self::CONFIG_EXTS, 'glob');
        $loader->load($confDir.'/{packages}/'.$this->environment.'/*'.self::CONFIG_EXTS, 'glob');
        $loader->load($confDir.'/{services}'.self::CONFIG_EXTS, 'glob');
        $loader->load($confDir.'/{services}_'.$this->environment.self::CONFIG_EXTS, 'glob');
    }
 // ...

Файрвол:

# config/packages/security.yaml 
security:
    # ...
    firewalls:
        # ...        
        cms_admin:
            anonymous: ~
            context: cms
            pattern: ^/%cms.admin_path%
            form_login:
                check_path: /%cms.admin_path%/
                login_path: /%cms.admin_path%/
                default_target_path: /%cms.admin_path%/
            logout:
                path: /%cms.admin_path%/logout
            remember_me:
                secret: "%env(APP_SECRET)%"
                name: REMEMBER_ME
                lifetime: 31536000 # 365 days in seconds
                path: /
                domain: ~
    # ...

    access_control:
        # ...
        - { path: ^/%cms.admin_path%/$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/%cms.admin_path%, roles: ROLE_ADMIN }
        # ...

Маршруты

# config/routes.yaml

# ...
smart_core_cms:
    resource: '@CMSBundle/Resources/config/routes.yaml'

Наборы данных

Поля таблиц можно задавать несколькими способами:

  1. Указать готовый трейт, в этом случае настроить можно только is_index.
  2. Указать доктрин Doctrine\DBAL\Types\Types, в этом случае можно как угодно настроить поле (пока что конфиг записывается тут: Resourse/config/dataset.yaml)

На каждое поле можно указать аннотации, например указав следующий набор будет создан первичный ключ:

@ORM\Id
@ORM\GeneratedValue(strategy="AUTO") // {"AUTO", "SEQUENCE", "TABLE", "IDENTITY", "NONE", "UUID", "CUSTOM"}

Валидаторы

TODO

Cornerstone -> Elements

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.