Можно реализовать при помощи ajax подгрузки при клике по кнопке или ссылке "Показать".
Я не селен в javascript и php, по этому прошу не пинать. Если уж банально, то можно как то так:
В файле realty_view.tpl вставляем
<script type="text/javascript">
$(document).on('click', '.open-num-phone', function(event){
event.preventDefault();
var id='{$data.id.value}';
$.ajax({
{literal}
url: estate_folder+'/js/ajax.php',
data: {action: 'phone', id: id},
type: 'post',
dataType: 'text',
success: function(phone){
$("#realty_"+id).html("<img src='/template/frontend/default/img/preloader.gif' />");
$("#realty_"+id).fadeOut(500, function(){
$(this).html(phone).fadeIn(500);
});
}
{/literal}
});
});
</script>
<div class="open-num-phone" id="realty_{$data.id.value}"> <a href="{$REQUEST_URI}">Показать телефон</a></div>
И в файле /apps/system/lib/system/ajax/ajax_server.php, где нибудь в конце функции main(), где то строка 1565, вставить примерно такой код
case 'phone':{
$id=(int)$this->getRequestValue('id');
$DBC=DBC::getInstance();
$query='SELECT phone FROM '.DB_PREFIX.'_data WHERE id='.$id.'';
$stmt=$DBC->query($query);
$ar=$DBC->fetch($stmt);
$result = $ar['phone'];
echo $result;
exit;
break;}
Код конечно нужно еще доработать, но для начала этого должно хватить. И следует помнить, при обновлении cms, файл /apps/system/lib/system/ajax/ajax_server.php скорее всего перезапишется.