类别项字段 - 如何获取选项 ID 和文本值的列表
本文关键字:ID 选项 文本 列表 获取 字段 何获取 | 更新日期: 2023-09-27 17:55:38
我正在尝试通过 API 创建一个进入 podio 的新条目,我可以设置文本类型字段和日期类型字段,但我似乎无法弄清楚如何设置类别类型字段。.NET 的示例显示如何设置 OptionId = x,其中 x 是类别字段的整数值。但是,如果我不知道该 Id 值怎么办。我从数据库中有一个字符串值,该值与类别(下拉样式)字段中的文本值匹配,但不确定是否可以使用它来设置它?
此示例不起作用 b/c 它在选项中没有值。
var typeCategory_ModuleStr = podioNewItem.Field("module");
IEnumerable<CategoryItemField.Option> categories = typeCategory_ModuleStr.Options;
List<CategoryItemField.Option> moduleOptions = categories.ToList();
foreach (CategoryItemField.Option option in moduleOptions)
{
if (option.Text == tableRow["MODULE"].ToString())
{
typeCategory_ModuleStr.OptionId = Convert.ToInt32(option.Id);
}
}
可以使用下面的代码示例获取与选项文本匹配的选项。
var app = podioClient.ApplicationService.GetApp(123);
var options = app.Field<CategoryApplicationField>("category-field-external-id").Options;
var option = options.FirstOrDefault(x => x.Text == "MyOptionText");
if (option != null)
{
var optionId = option.Id;
}
然后你可以像这样设置选项
Item myNewItem = new Item();
var categoryField = myNewItem.Field<CategoryItemField>("categories");
// Set value to a single option
categoryField.OptionId = 2; //option_id: 2
C# 客户端库链接和文档链接,以供参考。
可以使用此页面底部的沙盒在应用中查找类别的选项 ID:https://developers.podio.com/doc/applications/get-app-22349
或者,您可以通过如下所示 (PHP) 将文本值与选项 id 匹配:
$country_list = PodioAppField::get( $this::$app_id, 'country' );
$all_options = $country_list->config['settings']['options'];
foreach ($all_options as $option) {
if ($option['text'] === $option_text_value){
$option_int_value = $option['id'];
}
}