DoobBY

Как изменить вид контактов в объявлении ?

Recommended Posts

Доброго времени суток, подскажите, как и где редактировать поля контактный телефонов в стандартном шаблоне ? Сделать их формата +375 (29) ..... Сейчас выводит - 375297916129. Хотелось бы сделать крупнее и с пробелами и скобками.

Заранее спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Доброго времени суток, подскажите, как и где редактировать поля контактный телефонов в стандартном шаблоне ? Сделать их формата +375 (29) ..... Сейчас выводит - 375297916129. Хотелось бы сделать крупнее и с пробелами и скобками.

Заранее спасибо.

1. сам файл realty_view.tpl

2. А для вывода что бы он выводил в скобках нужно писать отдельный фильтр(маску) http://wiki.sitebill.ru/index.php?title=%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B_%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%B0_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Доброго времени суток, подскажите, как и где редактировать поля контактный телефонов в стандартном шаблоне ? Сделать их формата +375 (29) ..... Сейчас выводит - 375297916129. Хотелось бы сделать крупнее и с пробелами и скобками.

Заранее спасибо.

 

{if $phs != '' && $phs|strlen==12}{$phs|regex_replace:'/(\d{3,3})(\d{2,2})(\d+)$/':'+${1} (${2}) ${3}'}{/if}

где $phs - переменная с номером телефона вида "сплошные цифры". Например (взято из realty_view.tpl шаблона агенси):

{if isset($data.phone.value) && $data.phone.value!=''}    {if $data.phone.value|strlen==12}        <span>т. {$data.phone.value|regex_replace:'/(\d{3,3})(\d{2,2})(\d+)$/':'+${1} (${2}) ${3}'}</span><br>    {else}        <span>т. {$data.phone.value}</span><br>    {/if} {elseif $user_data.phone.value != ''}     {if $user_data.phone.value|strlen==12}         <span>т. {$user_data.phone.value|regex_replace:'/(\d{3,3})(\d{2,2})(\d+)$/':'+${1} (${2}) ${3}'}</span><br>      {else}         <span>т. {$user_data.phone.value}</span><br>     {/if}{/if}    

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2. А для вывода что бы он выводил в скобках нужно писать отдельный фильтр(маску)

 

Маска служит для форматирования вводимого значения на форме. Но она не влияет на внутреннее хранения телефона (он хранится в виде цифр и только цифр) и на вывод в карточку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

{if $phs != '' && $phs|strlen==12}{$phs|regex_replace:'/(\d{3,3})(\d{2,2})(\d+)$/':'+${1} (${2}) ${3}'}{/if}

где $phs - переменная с номером телефона вида "сплошные цифры". Например (взято из realty_view.tpl шаблона агенси):

{if isset($data.phone.value) && $data.phone.value!=''}    {if $data.phone.value|strlen==12}        <span>т. {$data.phone.value|regex_replace:'/(\d{3,3})(\d{2,2})(\d+)$/':'+${1} (${2}) ${3}'}</span><br>    {else}        <span>т. {$data.phone.value}</span><br>    {/if} {elseif $user_data.phone.value != ''}     {if $user_data.phone.value|strlen==12}         <span>т. {$user_data.phone.value|regex_replace:'/(\d{3,3})(\d{2,2})(\d+)$/':'+${1} (${2}) ${3}'}</span><br>      {else}         <span>т. {$user_data.phone.value}</span><br>     {/if}{/if}    

 

Спасибо, я дописал так: 

 

{if isset($data.phone.value) && $data.phone.value!=''}    	<span><font size="4" color="#008000">т. {$data.phone.value}</font></span><br>    {elseif $user_data.phone.value != ''}    	 <span>т. {$user_data.phone.value}</span><br>    {/if}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это вы только сменили размер и цвет. А  то, что я написал - это форматирование набора цифр к виду XXX (XX) XXXXXX

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это вы только сменили размер и цвет. А  то, что я написал - это форматирование набора цифр к виду XXX (XX) XXXXXX

Не сообразил =)

Подскажите, что я пишу не так ? выдаёт ошибку =(

 

  {if $phs != '' && $phs|strlen==12}{$phs|regex_replace:'/(d{3,3})(d{2,2})(d+)$/':'+${1} (${2}) ${3}'}{/if}                 {if isset($data.phone.value) && $data.phone.value!=''}  {if $data.phone.value|strlen==12}    	<span><font size="4" color="#008000">т. {$data.phone.value|regex_replace:'/(d{3,3})(d{2,2})(d+)$/':'+${1} (${2}) ${3}'}</font></span><br>    {elseif $user_data.phone.value != ''}    	 <span>т. {$user_data.phone.value}</span><br>    {/if}
Fatal error: Uncaught exception 'SmartyCompilerException' with message 'Syntax Error in template "/home/rostby/domains/doob.by/public_html/template/frontend/agency/realty_view.tpl" on line 431 "" unclosed {if} tag' in /home/rostby/domains/doob.by/public_html/third/smarty/sysplugins/smarty_internal_templatecompilerbase.php:441 Stack trace: #0 /home/rostby/domains/doob.by/public_html/third/smarty/sysplugins/smarty_internal_smartytemplatecompiler.php(64): Smarty_Internal_TemplateCompilerBase->trigger_template_error('unclosed {if} t...') #1 /home/rostby/domains/doob.by/public_html/third/smarty/sysplugins/smarty_internal_templatecompilerbase.php(82): Smarty_Internal_SmartyTemplateCompiler->doCompile('<script type="t...') #2 /home/rostby/domains/doob.by/public_html/third/smarty/sysplugins/smarty_internal_template.php(260): Smarty_Internal_TemplateCompilerBase->compileTemplate(Object(Smarty_Internal_Template)) #3 /home/rostby/domains/doob.by/public_html/third/smarty/sysplugins/smarty_internal_template.php(424): Smarty_Internal_ in /home/rostby/domains/doob.by/public_html/third/smarty/sysplugins/smarty_internal_templatecompilerbase.php on line 441

Прописываю в realty_view.tpl

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ошибка говорит о том , что не закрыт тег {/if}? Проверяйте , возможно вы не дописали какой-нибудь символ. (возможно скопировали код не полностью)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
{if $data.phone.value!='' && $data.phone.value|strlen==12} <span><font size="4" color="#008000">т. {$data.phone.value|regex_replace:'/(d{3,3})(d{2,2})(d+)$/':'+${1} (${2}) ${3}'}</font></span><br>{elseif $user_data.phone.value != ''}<span>т. {$user_data.phone.value}</span><br>{/if}

Может стоить попробовать так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Может стоить попробовать так?

 

 

Не. Тогда если $data.phone.value не пусто но меньше или больше 12 знаков оно вообще не выведется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ошибка говорит о том , что не закрыт тег {/if}? Проверяйте , возможно вы не дописали какой-нибудь символ. (возможно скопировали код не полностью)

 

Закрыл - но всё равно не выводит как нужно =((

{if isset($data.phone.value) && $data.phone.value!=''} {if $data.phone.value|strlen==12}    	<span><font size="4" color="#008000">т. {$data.phone.value|regex_replace:'/(d{3,3})(d{2,2})(d+)$/':'+${1} (${2}) ${3}'}</font></span><br>    {elseif $user_data.phone.value != ''}    	 <span>т. {$user_data.phone.value}</span><br>    {/if}  {/if}
{if $data.phone.value!='' && $data.phone.value|strlen==12} <span><font size="4" color="#008000">т. {$data.phone.value|regex_replace:'/(d{3,3})(d{2,2})(d+)$/':'+${1} (${2}) ${3}'}</font></span><br>{elseif $user_data.phone.value != ''}<span>т. {$user_data.phone.value}</span><br>{/if}

Может стоить попробовать так?

 

Так тоже не отображает =((

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не сообразил =)

Подскажите, что я пишу не так ? выдаёт ошибку =(

Прописываю в realty_view.tpl

 

 

{if isset($data.phone.value) && $data.phone.value!=''}

{if $data.phone.value|strlen==12}

    <span><font size="4" color="#008000">т. {$data.phone.value|regex_replace:'/(d{3,3})(d{2,2})(d+)$/':'+${1} (${2}) ${3}'}</font></span><br>

{else}

    <span><font size="4" color="#008000">т. {$data.phone.value}</font></span><br>

{/if}

{elseif $user_data.phone.value != ''}

     <span>т. {$user_data.phone.value}</span><br>

{/if}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

{if isset($data.phone.value) && $data.phone.value!=''}

{if $data.phone.value|strlen==12}

    <span><font size="4" color="#008000">т. {$data.phone.value|regex_replace:'/(d{3,3})(d{2,2})(d+)$/':'+${1} (${2}) ${3}'}</font></span><br>

{else}

    <span><font size="4" color="#008000">т. {$data.phone.value}</font></span><br>

{/if}

{elseif $user_data.phone.value != ''}

     <span>т. {$user_data.phone.value}</span><br>

{/if}

И так не меняет =(

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А почему не написать номер телефона как надо в сведениях об агенте, админка - меню Пользователи?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А почему не написать номер телефона как надо в сведениях об агенте, админка - меню Пользователи?

 

1. Если телефонный номер используется исключительно для показа, а не во всяких приложениях которые работают с номерами, то форматированная запись оправдана.

2. Любой телефон вводится человеком. Заставить его написать форматированную строку - задача не тривиальная. Я свой номер запишу за две секунды в виде ряда цифр, но записать его со скобочками, тире и пробелами вполне легко ставит меня в ступор)

3. Если использовать поле типа mobilephone, то оно поддерживает маску ввода. Но это именно маска ВВОДА! Внутри же номер хранится чистой строкой цифр без форматных украшательств. И выводится так, как есть в БД, т.е. в виде цифр.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Честное слово не могу вникнуть =(

Пробовал через таблицу, расставлять блоки, плывёт сайт =(

 

Если это не сложно подскажите пожалуйста, как распределить так п блокам, отображение контактов на странице объекта.

 

http://prntscr.com/9s3t4o

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это не сложно, у вас фиксированные размеры сайта. Поэтому это геммор нужно высчитывать сами размеры, отступы, смещения. Многоикода в css приписывать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите, где менять кнопки на странице объекта ("поделиться", "отправить заявку")
Никак не могу найти =( 

Хоть так хочу сделать - http://prntscr.com/9secjy

 

 

Подскажите ещё один момент, если незарегистрированный оставляет объект, и не вписывает имя - можно ли на подобные объявления вставлять определённое слово, в пустую ячейку?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Хоть так хочу сделать - http://prntscr.com/9secjy

 

 

Если речь только о изменении ширины кнопки, то у каждой из этих кнопок есть свой ИД на который можно поставить css стиль с шириной. Это самый простой способ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

одскажите ещё один момент, если незарегистрированный оставляет объект, и не вписывает имя - можно ли на подобные объявления вставлять определённое слово, в пустую ячейку?

 

В редакторе форм для поля fio попробуйте установить какое-то значение для поля Значение по умолчанию. А тогда запостите обїявление как бі от гостя, не указав имя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В редакторе форм для поля fio попробуйте установить какое-то значение для поля Значение по умолчанию. А тогда запостите обїявление как бі от гостя, не указав имя.

Спасибо, всё оказалось просто =) А я голову лопал с кодом, думал как вставить ещё одно {else} =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас