Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/smart-core/cms-reborn
[DEPRECATED] Development sandbox of Smart Core CMS based on Symfony
https://github.com/smart-core/cms-reborn
Last synced: 7 days ago
JSON representation
[DEPRECATED] Development sandbox of Smart Core CMS based on Symfony
- Host: GitHub
- URL: https://github.com/smart-core/cms-reborn
- Owner: Smart-Core
- License: mit
- Created: 2020-01-11T07:34:21.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-02-01T19:55:12.000Z (almost 2 years ago)
- Last Synced: 2024-11-09T12:12:23.824Z (2 months ago)
- Language: PHP
- Homepage:
- Size: 1.75 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Запуск в Docker
---------------Документация тут [docker.md](doc/docker.md)
Создание юзера
--------------Посмотреть список всех пользователей:
```
bin/console user:list
```Создание юзера:
```
bin/console user:add
```Назначить роль пользователю, например: ROLE_SUPER_ADMIN
```
bin/console user:role:promote
```Для запуска команд в докере, нужно перед командой написать: `docker-compose run php` итого формат будет такой:
```
docker-compose run --rm php
# например:
docker-compose run --rm php bin/console user:list
```Подключение CMS в проект
------------------------Загрузка конфигов:
```php
// 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');
}
// ...
```Файрвол:
```yaml
# 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 }
# ...
```Маршруты
```yaml
# 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