#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']);