smart-core / settings-bundle
SmartCore 设置包。
dev-master
2019-06-16 12:40 UTC
Requires
- php: >=5.4.1
- smart-core/core-bundle: dev-master
Suggests
- doctrine/doctrine-cache-bundle: dev-master
This package is auto-updated.
Last update: 2024-09-16 23:59:10 UTC
README
安装
-
需要在 Kernel.php 中指定以下代码
protected function dumpContainer(ConfigCache $cache, ContainerBuilder $container, $class, $baseClass) { parent::dumpContainer($cache, $container, $class, $baseClass); /** @var ContainerInterface $container2 */ $container = require $cache->getPath(); $container->set('kernel', $this); $container->get('settings')->warmupDatabase(); }
-
然后在包的 /Resources/config/settings.yml 文件中按照以下格式描述配置
# Short format option1: value 1 # Full specs option2: type: TextType # CheckboxType, ChoiceType, CheckboxType etc... hidden: true # Скрывать в админке value: | Многострочный Текст. title: Если указан заголовок, то будет отображаться вместо имени. description: Подробное описание настройки validation: - NotBlank: ~ - Range: min: 120 max: 180 choices: ru: Россия de: Германия # @todo group: main update_callback: \My\Setting\Callback::option2 # Вызов стататического метода либо сервиса при обновлении параметра.
-
为了读取 settings.yml 文件,需要创建 DependencyInjection*Extension 以确保包在系统中获得 Extension 别名。
待办事项
- 配置 Symfony 4 应用程序,例如通过 /config/packages/smart_settings.yaml
- 解决如果设置已保存到数据库但随后从配置中删除的情况。在这种情况下,可以选择从数据库中删除设置或标记 is_active = false。