use \Bitrix\Main,
\Bitrix\Highloadblock as Highload;
define('CITY_HIGHLOAD_ID', 1);
define('OFFICE_HIGHLOAD_ID', 2);
/**
* Try to get generated HighloadBlock class by identifier (use static cache)
* @param integer $id Identifier of highloadblock
* @param boolean $useCache Flag to use static cache
* @return string
*/
function getEntityClass($id, $useCache = true)
{
static $cache;
if ( empty($id) || !Main\Loader::IncludeModule('highloadblock') )
{
return null;
}
if ( $useCache && array_key_exists($id, $cache) )
{
return $cache[$id];
}
$entity = Highload\HighloadBlockTable::compileEntity($id);
$cache[$id] = $entity->getDataClass();
return $cache[$id];
}
$cityClass = getEntityClass( CITY_HIGHLOAD_ID );
if ( is_null($cityClass) )
{
echo "Ошибка: класс городов hlb не определен";
return "";
}
$officeClass = getEntityClass( OFFICE_HIGHLOAD_ID );
if ( is_null($officeClass) )
{
echo "Ошибка: класс офисов hlb не определен";
return "";
}
$offices = $officeClass::getList([
'select' => [
'*',
'CITY_' => 'CITY_DATA'
],
'runtime' => [
new \Bitrix\Main\Entity\ReferenceField(
'CITY_DATA',
$cityClass,
array('=this.UF_CITY' => 'ref.ID')
)
],
]);
foreach ($offices as $office)
{
var_dump($office);
}
array(5) {
'ID' =>
string(1) "1"
'UF_CITY' =>
string(1) "1"
'UF_ADDRESS' =>
string(27) "address1"
'CITY_ID' =>
string(1) "1"
'CITY_UF_NAME' =>
string(12) "name1"
}
array(5) {
'ID' =>
string(1) "2"
'UF_CITY' =>
string(1) "2"
'UF_ADDRESS' =>
string(23) "address2"
'CITY_ID' =>
string(1) "2"
'CITY_UF_NAME' =>
string(6) "name2"
}
$arResult['CURRENT_PAGE'] = $APPLICATION->GetCurPage();
<? $url = CFile::GetPath($ar_fieldsi['PREVIEW_PICTURE']); ?>
<? if ( $ar_fieldst['DETAIL_PAGE_URL'] === $arResult['CURRENT_PAGE'] ): ?>
<a href="<?=$ar_fieldst['DETAIL_PAGE_URL']?>" class="cartochka-img__choice-color-link">
<img src="<?=$url?>" title="<?=$ar_fieldsi['NAME']?>"/>
</a>
<? else: ?>
<img src="<?=$url?>" title="<?=$ar_fieldsi['NAME']?>"/>
<? endif; ?>
так же, например, адепты друпала говорят о своем изделии.
зыж не ведаете это не из за того что не знаете битрикс, а потому что не были с другой стороны стола как реальный потребитель.
не понимаю зачем городить такого слона, туда, где нужна синичка
глобальный недлстаток которой - невозможность подстроиться под нужны бизнеса
Появился конкретный вопрос:
должен ли сайт соответствовать сертификату соответствия № 3260 ФСТЭК России.
А нужен ли он сайту-визитке, где не хранится никаких данных, кроме новостей. А зачем защищать эту информацию, если она публична?
А вот тут кроется как раз самая интересная часть. Вы говорите о unix'подходе, о минимализме, но совершенно не думаете такими вещами как трудозатраты.
Чисто с ходу: допилить "под себя" Битрикс24 займет от силы неделю разработки (при том, что Вы получите гораздо больше чем заявляли).
Если Вы пойдете в сторону разработки собственных систем, то за одну только гугло карту в коробке Вас могут нагнуть на приличное количество денег (напомниаю, что ни яндекс ни гугл нельзя использовать на страницах на которые гостю нельзя войти, а CRM это именно такая страница).
Вы очень классно смотрите в техническую составляющую, но совершенно не смотрите на то, сколько же времени это отнимет у Вас (и сколько денег на этом Вы потеряете, так как даже указанные Вами аналоги не бесплатны).
По сути, Вы конечно можете разрабатывать свою CRM. Лично в Вашем случае, при желании получить все и при этом не учитывать собственное время затраченное на разработку, это будет оправдано.