Как подписаться на рассылку в группах Mailchimp API 1.3

#php #mailchimp

#php #mailchimp

Вопрос:

Поскольку приведенный ниже пример показывает, как обращаться к полям, мой вопрос заключается в том, как вызвать флажок с несколькими флажками. пожалуйста, приведите мне пример

    $merge_vars = array('FNAME'=>'Test', 'LNAME'=>'Account', 
              'GROUPINGS'=>array(
                    array('name'=>'Your Interests:', 'groups'=>'Bananas,Apples'),
                    array('id'=>22, 'groups'=>'Trains'),
                    )
                );
  

Я получаю решение для этого.

Чтобы установить флажок с несколькими флажками, вам нужно выполнить цикл и установить его в массив, а затем изменить массив на строку.

  if(!empty($_POST['listbox']))
    {
        foreach($_POST['listbox'] as $value => $val)
        {

            $values[] = $val;

        }
         $groups = implode(",", $values);
    } 
  

затем установите его в merge_vars

  $merge_vars = array('FNAME'=>'Test', 'LNAME'=>'Account', 
          'GROUPINGS'=>array(
                array('name'=>'Your Interests:', 'groups'=> $groups)
                )
            );
  

Надеюсь, это поможет 🙂

Комментарии:

1. не проще ли просто запустить implode в $_POST[«listbox»]?

2. спасибо, это действительно помогло мне, так как в их документации отсутствует пример того, как создать этот массив групп

3. вы должны переместить свой ответ из раздела вопросов в ответ и принять его, поскольку он работает

Ответ №1:

Вы должны поместить разделенные запятыми, но вы должны убедиться, что они экранированы запятыми:

 $groups = array();
if(!empty($_POST['listbox'])) {
    $interests = array();
    foreach($_POST['listbox'] as $interest)
    {
        $interests[] = str_replace(',', ',', $interest);
    }

    $groups = implode(",", $interests);
}

$merge_vars = array(
    'FNAME'=>'Test', 
    'LNAME'=>'Account', 
    'GROUPINGS'=> array(
        array(
            'name'=>'Your Interests:', 
            'groups'=> $groups
        ),
        array(
            'id'=>22, 
            'groups'=>'Trains'
        )
    )
);
  

Если вы уверены, что в строке интереса нет запятых, вы можете просто сделать это:

 $groups = implode(',', $_POST['listbox']);