dhorchler / config-bundle
此包已被废弃且不再维护。未建议替代包。
存储在数据库中的设置,可在Sonata Admin Bundle中进行管理。
dev-master
2014-11-22 15:57 UTC
Requires
- php: >=5.3.3
- sonata-project/admin-bundle: 2.3.*@dev
- symfony/symfony: 2.*
This package is not auto-updated.
Last update: 2022-02-01 12:24:07 UTC
README
#信息
兼容Symfony 2.5(建设中)
DHorchlerConfigBundle 将配置设置存储在ORM数据库中,并在Sonata Admin Bundle中使它们可管理。这些设置可以在项目的任何地方使用,并且可以通过Sonata管理员用户在运行时进行修改。
#特性
- 对不同的数据类型进行单独验证
- 易于自定义的错误文本的单独约束
- 支持jQuery表单字段默认值
###当前支持的数据类型:字符串、整数、浮点数、日期、日期时间、选择、多选。
#安装
##获取包
首先将其添加到composer.json中,然后通过Composer下载和安装包
{ "require": { "dhorchler/config-bundle": "dev-master" } }
然后运行
php composer.phar update dhorchler/config-bundle
##在app/AppKernel.php中启用包
public function registerBundles() { $bundles = array( // ... new DHorchler\ConfigBundle\DHorchlerConfigBundle(), ); // ... }
##创建设置表
您可以通过以下方式执行此操作:
php app/console doctrine:migrations:diff php app/console doctrine:migrations:migrate
或
php app/console doctrine:schema:update
或您喜欢的任何方式。
#配置
在app/config/config.yml中添加
sonata_block: default_contexts: [cms] blocks: sonata.admin.block.admin_list: contexts: [admin] sonata.block.service.text: sonata.block.service.rss: sonata_admin: title: Sonata Project title_logo: /bundles/sonataadmin/logo_title.png templates: layout: SonataAdminBundle::standard_layout.html.twig ajax: SonataAdminBundle::ajax_layout.html.twig list: SonataAdminBundle:CRUD:list.html.twig show: SonataAdminBundle:CRUD:show.html.twig edit: DHorchlerConfigBundle::edit.html.twig dashboard: blocks: - { position: left, type: sonata.admin.block.admin_list } services: sonata.dh.admin.settings: class: DHorchler\ConfigBundle\Admin\ConfigAdmin tags: - { name: sonata.admin, manager_type: orm, group: 'settings', label: Settings } arguments: - null - DHorchler\ConfigBundle\Entity\Settings - DHorchlerConfigBundle:Admin
完成所有这些后,从Sonata Admin后端开始管理您的设置。
#使用示例
$this->em = $this->getDoctrine()->getEntityManager(); $settingsRaw = $this->em->createQueryBuilder() ->select('s.name, s.currentValue') ->from('DHorchlerConfigBundle:Settings', 's') ->getQuery() ->getResult(); foreach ($settingsRaw AS $setting) $settings[$setting['name']] = $setting['currentValue']
#预览
#待办事项
- 添加更多测试
- 客户端验证