Leaderboard


Popular Content

Showing content with the highest reputation on 11/15/17 in all areas

  1. 1 point
    Если там заведомо будет набор цифр определенной длины, или максимум двух-трех вариантов длин, то можно делать регуляркой в шаблоне. Да в принципе в люом случае можно регуляркой, только нужно определиться для какой длины подобной строки какой шаблон будет. Например {if $user_data.phone.value != '' && $user_data.phone.value|strlen==11} {$user_data.phone.value|regex_replace:'/(\d)(\d{3,3})(\d{3,3})(\d{2,2})(\d{2,2})$/':'${1} (${2}) ${3}-${4}-${5}'} {else} {$user_data.phone.value} {/if} что из любого 11-значного набора сделает нам форматный вывод ( 75297916129 => 7 (529) 791-61-29), а остальное выведет как есть
  2. 1 point
    Универсальное типовое решение для шаблона: {*Создаем пустой массив*} {assign var=x value=array()} {*Поочередно перебираем нужные элементы и, если по некоему условию они нам подходят для вывода, складываем их в этот массив*} {if $entity_item.PARAM_NAME_1.value_string!=''} {append var=x value=$entity_item.PARAM_NAME_1.value_string} {/if} {if $entity_item.PARAM_NAME_2.value_string!=''} {append var=x value=$entity_item.PARAM_NAME_2.value_string} {/if} {if $entity_item.PARAM_NAME_3.value_string!=''} {append var=x value=$entity_item.PARAM_NAME_3.value_string} {/if} {*Если массив не пуст по итогу, выводим его значения слепленные запятой*} {if $x|count>0} Адрес (или другое название): {$x|implode:', '} {/if}