用途:面向 Drupal 开发,处理分类术语(taxonomy term)、词汇表(vocabulary)、术语层级与术语引用字段的读取和展示。
主要能力:
- 加载术语:用 entityTypeManager 的 taxonomy_term 存储按 ID 加载(load)、批量加载(loadMultiple)、按词汇表或名称加载(loadByProperties,如 vid、status、name)。
- 实体查询:通过 getQuery() 配合 accessCheck(TRUE)、condition('vid', ...)、condition('status', ...) 以及 sort 排序,再执行并 loadMultiple 取回术语。
- 创建术语:create() 传入 vid、name、description(含 value 与 format)、parent(target_id)、weight,然后 save()。
- 层级处理:loadParents 取父术语,loadChildren 取子术语,loadTree 取扁平树并读取 tid、name、depth、parents。
- 字段取值:getName()、bundle()(词汇表 ID)、id()、get('description')->value、getWeight()。
- Twig 用法:直接渲染 content.field_tags,或在 node.field_tags 上循环并用 item.entity.name.value 访问术语实体。
使用方式:以上代码通常写在 Drupal 自定义模块的控制器、服务或插件类中(使用 $this->entityTypeManager);Twig 部分写在模板文件内。
适用场景:构建带标签、分类目录、层级导航或术语引用字段的 Drupal 站点,以及需要在模块逻辑或主题模板中读取与展示分类数据时。
限制:资料仅提供上述 API 用法示例,未说明版本要求、权限配置、性能建议或缓存处理,相关内容暂未提供。