В автоматизации изменения записи присутствует два действия:
1. "Изменить значения полей текущей записи" - здесь, среди прочего, вводятся поля адреса:
-Страна - сущность, выпадающий список (ajax)
--Регион - многоуровневый список сущностей
---Город - многоуровневый список сущностей
2. "Выполнить PHP скрипт" - здесь из введенных значений собирается строка полного адреса.
Warning выводится в случае, если не заполнены все три поля "Страна", "Регион" и "Город". Если хоть одно из них оставлено пустым, снова warning.
Как можно избежать такое? Вариант сделать поля обязательными - не вариант.
Код автоматизации:
Код: Выделить всё
$my_company_country_id=[626];
$my_company_state_id=[627];
$my_company_city_id=[628];
$my_company_town=[630];
$my_company_street=[631];
$my_company_building=[632];
$my_company_office=[633];
$my_company_zip=[629];
$full_address='';
//get country,state,city:
$info_query_country = db_query("select field_1102 from app_entity_80 where id=" . $my_company_country_id );
$info_country = db_fetch_array($info_query_country);
$my_company_country = $info_country['field_1102'];
$info_query_state = db_query("select field_1121 from app_entity_81 where id=" . $my_company_state_id );
$info_state = db_fetch_array($info_query_state);
$my_company_state = $info_state['field_1121'];
$info_query_city = db_query("select field_1131 from app_entity_82 where id=" . $my_company_city_id );
$info_city = db_fetch_array($info_query_city);
$my_company_city = $info_city['field_1131'];
//concat city:
if (!empty($my_company_city)) {
$full_address=$my_company_city;
}
//concat town:
if (!empty($my_company_town)) {
$full_address=$full_address.', '.$my_company_town;
}
//concat street:
if (!empty($my_company_street)) {
$full_address=$full_address.', '.$my_company_street;
}
//concat building:
if (!empty($my_company_building)) {
$full_address=$full_address.' '.$my_company_building;
}
//concat office:
if (!empty($my_company_office)) {
$full_address=$full_address.'-'.$my_company_office;
}
//concat state:
if (!empty($my_company_state)) {
$full_address=$full_address.', '.$my_company_state;
}
//concat zip:
if (!empty($my_company_zip)) {
$full_address=$full_address.', '.$my_company_zip;
}
//concat country:
if (!empty($my_company_country)) {
$full_address=$full_address.', '.$my_company_country;
}
//combine full address if not empty:
if (!empty($full_address)) {
db_query("update app_entity_45 set field_624='$full_address' where id={$item_id}");
}