Компания (модель Company) позволяет использовать множественные значения:
Отдел компании (модель Company_Department) позволяет использовать множественные значения:
Представитель клиента (модель Siteuser_Person) позволяет использовать множественные значения:
Компания клиента (модель Siteuser_Company) позволяет использовать множественные значения:
Сотрудник (модель User) позволяет использовать множественные значения:
На примере компании клиента (модель Siteuser_Company) рассмотрим получение значений.
вывод всех адресов компании:
$aDirectory_Addresses = $oSiteuser_Company->Directory_Addresses->findAll();
foreach ($aDirectory_Addresses as $oDirectory_Address)
{
// Тип адреса
if ($oDirectory_Address->directory_address_type_id)
{
echo '<br />' . htmlspecialchars($oDirectory_Address->Directory_Address_Type->name);
}
// Собираем элементы адреса в массив
$aCompanyAddress = array(
$oDirectory_Address->postcode,
$oDirectory_Address->country,
$oDirectory_Address->city,
$oDirectory_Address->value
);
// Удаляем пустые элементы массива
$aCompanyAddress = array_filter($aCompanyAddress, 'strlen');
// Объединяем через запятую
$sFullCompanyAddress = implode(', ', $aCompanyAddress);
echo '<br />' . htmlspecialchars($sFullCompanyAddress);
}
электронная почта:
$aDirectory_Emails = $oSiteuser_Company->Directory_Emails->findAll();
foreach ($aDirectory_Emails as $oDirectory_Email)
{
// Тип электронной почты
if ($oDirectory_Email->directory_email_type_id)
{
echo '<br />' . htmlspecialchars($oDirectory_Email->Directory_Email_Type->name);
}
echo '<br />' . htmlspecialchars($oDirectory_Email->value);
}
телефоны:
$aDirectory_Phones = $oSiteuser_Company->Directory_Phones->findAll();
foreach ($aDirectory_Phones as $oDirectory_Phone)
{
// Тип телефона (рабочий, мобильный и т.д.)
if ($oDirectory_Phone->directory_phone_type_id)
{
echo '<br />' . htmlspecialchars($oDirectory_Phone->Directory_Phone_Type->name);
}
echo '<br />' . htmlspecialchars($oDirectory_Phone->value);
}
мессенджеры:
$aDirectory_Messengers = $oSiteuser_Company->Directory_Messengers->findAll();
foreach ($aDirectory_Messengers as $oDirectory_Messenger)
{
// Тип мессенджера
if ($oDirectory_Messenger->directory_messenger_type_id)
{
echo '<br />' . htmlspecialchars($oDirectory_Messenger->Directory_Messenger_Type->name);
}
echo '<br />' . htmlspecialchars($oDirectory_Messenger->value);
}
социальные сети:
$aDirectory_Socials = $oSiteuser_Company->Directory_Socials->findAll();
foreach ($aDirectory_Socials as $oDirectory_Social)
{
// Название соцсети
if ($oDirectory_Social->directory_social_type_id)
{
echo '<br />' . htmlspecialchars($oDirectory_Social->Directory_Social_Type->name);
}
echo '<br />' . htmlspecialchars($oDirectory_Social->value);
}
сайты:
$aDirectory_Websites = $oSiteuser_Company->Directory_Websites->findAll();
foreach ($aDirectory_Websites as $oDirectory_Website)
{
echo '<br />' . htmlspecialchars($oDirectory_Website->value);
}
Пример создания телефона для компании клиента:
$oDirectory_Phone = Core_Entity::factory('Directory_Phone'); $oDirectory_Phone->directory_phone_type_id = 1; $oDirectory_Phone->public = 0; $oDirectory_Phone->value = '+7 495 654-32-10'; $oDirectory_Phone->save(); $oSiteuser_Company->add($oDirectory_Phone);