在 PHP 中添加 TagSet
在 PHP 中添加 TagSet。
本文档介绍如何在 PHP 方法中向 TagSet 属性添加特定值。更多详细内容请参考 iTop 官方文档。
概述
在 PHP 方法中向 TagSet 属性添加特定值。
前提条件
示例场景
假设有一个 Bug 类:
- 字符串字段
version(继承自 Sprint 的外部字段) - TagSet
versions(记录修复该 Bug 的产品版本) - 默认情况下,在 Bug 解决时确保至少包含 Sprint 的 “version”
代码示例
public function PrefillTransitionForm(&$aContextParam)
{
switch ($aContextParam['stimulus']) {
case 'ev_resolve':
try {
// 获取版本字符串
$sVersion = $this->Get('version');
// 获取 Bug 应修复的版本(ormTagSet 对象)
$oVersions = $this->Get('versions');
// 获取对应标签的 TagSetFieldData 代码
$Tag = $oVersions->GetTagFromLabel($sVersion);
// 若不存在则添加
$oVersions->Add($Tag);
// 设置回对象
$this->Set('versions', $oVersions);
} catch (Exception $e) {
// 若标签不是有效值,GetTagFromLabel() 会抛出异常
IssueLog::Warning($e);
}
break;
}
}
注意事项
若标签不是 TagSet 中的有效值,将抛出异常:
CoreUnexpectedValue: 4.0.0 is not defined as a valid tag for Bug:versions in...
相关主题
原文:https://www.itophub.io/wiki/page?id=3_2_0:customization:add-value-to-tagset
版本:3_2_0/customization/add-value-to-tagset.txt · Last modified: 2025/08/04 15:33 by 127.0.0.1