yavin/symfony-form-tree
Composer 安装命令:
composer require yavin/symfony-form-tree
包简介
create select field with indentation for tree structure
README 文档
README
This extension provide displaying doctrine tree entity types in synfony forms. It add a prefix to option names in select list that indicates tree level.
It is tested and should work with symfony 3.0+
If want to use this in symfony 2 look at "symfony-2" branch of this extension
<select name="..." data-level-prefix="-"> <option value="1">Motors</option> <option value="2">Electronics</option> <option value="3">-Cell phones</option> <option value="4">--Samsung</option> <option value="5">-Computers</option> <option value="6">Fasion</option> </select>
Instalation
-
With composer.json
composer require yavin/symfony-form-tree:^1.0 -
Add type guesser in your services file (optional):
<service class="Yavin\Symfony\Form\Type\TreeTypeGuesser"> <argument type="service" id="doctrine"/> <tag name="form.type_guesser"/> </service>
or if you use
ymlformat:services: symfony.form.type_guesser.tree: class: Yavin\Symfony\Form\Type\TreeTypeGuesser arguments: [ "@doctrine" ] tags: - { name: form.type_guesser }
-
Then add field to tree model. In this example
use Yavin\Symfony\Form\Type\TreeType; public function buildForm(FormBuilderInterface $builder, array $options) { $builder->add('category'); //extension will guess field type //or this is full example with default options: $builder->add('category', TreeType::class, [ 'class' => Category::class, // tree class 'levelPrefix' => '-', 'orderFields' => ['treeLeft' => 'asc'], 'prefixAttributeName' => 'data-level-prefix', 'treeLevelField' => 'treeLevel', ]); }
This extension assume that in tree model You have
treeLeftandtreeLevelfields. It can be changed in field options.Here is example tree entity.
Other
License
yavin/symfony-form-tree 适用场景与选型建议
yavin/symfony-form-tree 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 91.17k 次下载、GitHub Stars 达 14, 最近一次更新时间为 2013 年 12 月 20 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 yavin/symfony-form-tree 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 yavin/symfony-form-tree 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 91.17k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 15
- 点击次数: 22
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2013-12-20
