1

我有一个 Podio 应用程序,它由 php API 通过网站上的表单填充。

使用Create Item片段适用于文本字段、货币值等,但我无法解开有关如何设置类别字段的文档。

类别字段“参加”是一个简单的是/否选择。

此处显示的方法与创建项目片段结合使用时会产生服务器错误,如下所示:

$fields = new PodioItemFieldCollection(array(
      new PodioTextItemField(array("external_id" => "title", "values" => $name)),
      new PodioTextItemField(array("external_id" => "email", "values" => $email)),
));

$item = new PodioItem(array(
    'app' => new PodioApp(intval($app_id)),
    'fields' => $fields,
));

pseudo code: if attending = yes, $attending = 1, else $attending = 2 //id's of yes and no in category field

$item->fields['attending']->values = $attending;

$item->save();

我错过了什么?谢谢。

4

2 回答 2

1

对于那些仍在寻找答案的人:诀窍是使用数组

在打开 Collection 之前执行 $attending 的评估,然后只需将此行添加到PodioItemFieldCollection中。

new PodioCategoryItemField(array(
   'external_id' => 'attending', 'values' => array($attending))),

所以整个片段看起来像这样

($foo == 'yes') ? $attending = 1: $attending = 2 ; // evaluating $foo for yes

$fields = new PodioItemFieldCollection(array(
  new PodioTextItemField(array("external_id" => "title", "values" => $name)),
  new PodioTextItemField(array("external_id" => "email", "values" => $email)),
  new PodioCategoryItemField(array(
    'external_id' => 'attending', 'values' => array($attending))) // must be an array
));

$item = new PodioItem(array(
'app' => new PodioApp(intval($app_id)),
'fields' => $fields,
));

$item->save();
于 2017-09-19T22:53:05.690 回答
-1

您可以在以下位置找到示例: http: //podio.github.io/podio-php/fields/#category-field

如果仍然无法正常工作,请将 podio-php 置于调试模式,以便查看正在发送到 Podio 的数据:http: //podio.github.io/podio-php/debug/

于 2015-04-10T21:12:35.450 回答