Очень часто обращаются пользователи с вопросами адаптации поля "номер телефона" со второй ветки на первую.
Если нужно — решение в виде хака. (
хак для доски объявлений
хак для профиля и изменения для хака доски объявлений (создание единого поля с маской)
если еще не загружен
jquery.maskedinput.min.js — загружаем в /includes/jquery/.
в файл шаблона \templates\_ВАШ_ШАБЛОН_\template.php перед закрывающимся тегом </body> добавьте:
<script src="/includes/jquery/jquery.maskedinput.min.js" type="text/javascript" ></script>
<script type="text/javascript">
jQuery(function($){
$("input[name='phone']).mask('+7(999)999-99-99', {placeholder:"_"});
});
</script>
в файле \components\users\frontend.php
замените строку 285
$users['phone'] = cmsCore::request('phone', 'int', 0);
на
$users['phone'] = cmsCore::request('phone', 'str');
в файле \templates\_default_\components\com_users_profile.tpl.php
строку 246
<div class="value">+{$usr.phone}</div>
приведите к виду
<div class="value">{$usr.phone}</div>
увеличьте в таблице cms_users значение phone с varchar(12) на varchar(20)
если используете хак доски объявлений, в \templates\_ВАШ_ШАБЛОН_\components\com_board_edit.tpl.php
удалите строки
<!-- Подключаем плагин и задаем маску -->
<script src="/includes/jquery/jquery.maskedinput.min.js"></script>
<script type="text/javascript">
jQuery(function($){
$.mask.definitions['9']='[0-9]';
$('#phone').mask('+7(999)999-99-99');
});
</script>
<!-- Подключаем плагин и задаем маску -->
замените блок поля <!-- Выводим поле номер телефона для заполнения-->
на
<!-- Выводим поле номер телефона для заполнения-->
<tr id="before_form">
<td valign="top">
<span>{$LANG.TEXT_PHONE}:</span>
</td>
<td height="100" valign="top">
<input name="phone" class="text-input" style="width:400px" rows="1" id="phone">{$item.phone|escape:'html'}
</td>
</tr>
<!-- Выводим поле номер телефона для заполнения-->
Теперь для всех полей input с name='phone' будет подключаться маска.
Предвкушая вопросы по релизу обновления поля для второй ветки — скоро.