fbeen / settingsbundle
此包在Symfony框架之上增加了数据库集成之外的设置功能。它允许您设计可以被所有者或管理员通过网站维护的应用程序设置。
dev-master
2018-01-30 20:06 UTC
Requires
- php: ^5.5.9|^7.0
- symfony/framework-bundle: ^2.7|^3.3
This package is not auto-updated.
Last update: 2024-09-23 06:43:29 UTC
README
此包在Symfony框架之上增加了数据库集成之外的全局设置功能。它允许您设计可以被所有者或管理员通过网站维护的应用程序设置。
特性包括
- 无限设置字段
- Bootstrap就绪的页面和表单
- 当您在表单中添加自己为ROLE_SUPER_ADMIN角色时,您可以用开发者身份创建和删除设置
- 具有ROLE_ADMINISTRATOR角色的用户可以更改设置字段的值
- 应用程序可以更改设置字段的值
- 五种表单类型:文本、电子邮件、布尔值、整数和小数。
- 表单验证取决于表单类型。
安装
使用composer
- 将
"fbeen/settingsbundle": "dev-master"
添加到您的composer.json项目文件的require部分。
"require": {
...
"fbeen/settingsbundle": "dev-master"
},
-
运行composer update
$ composer update
-
将包添加到app/AppKernel.php
$bundles = array(
...
new Fbeen\SettingsBundle\FbeenSettingsBundle(),
);
- 将路由添加到app/config/routing.yml
fbeen_settings:
resource: "@FbeenSettingsBundle/Resources/config/routing.yml"
prefix: /admin
- 将路由添加到app/config/routing_dev.yml
_fbeen_settings:
resource: "@FbeenSettingsBundle/Resources/config/routing_dev.yml"
prefix: /admin
- 在
app/config/config.yml
中启用翻译
parameters:
locale: en
framework:
translator: { fallbacks: ["%locale%"] }
- 配置
app/config/security.yml
以确保存在ROLE_ADMIN和ROLE_SUPER_ADMIN
security:
# ...
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
- 更新您的数据库模式
$ bin/console doctrine:schema:update --force
-
使用具有ROLE_SUPER_ADMIN角色的账户登录。
-
转到路由.../app_dev.php/admin/settings/developer开始添加设置。表单非常易于使用,无需进一步解释
-
转到路由.../app_dev.php/admin/settings/edit查看管理员如何更改值
用法
想象您创建了一个具有标识符shipping_price的设置,并且您想在控制器中使用此设置
$value = $this->get('fbeen_settings.settings_helper')->getSetting('shipping_price');
或者您想在Twig中渲染设置
{{ setting('shipping_price') }}
更新设置
$this->get('fbeen_settings.settings_helper')->updateSetting('shipping_price', $price);
或者您可能想将设置用作页面查看计数器
$helper = $this->get('fbeen_settings.settings_helper');
$counter = $helper->getSetting('page_views');
$helper->updateSetting('page_views', ++$counter);