Пишем название поля, в моём случае «adress» тип VARCHAR, длину указываем по вкусу, я написал 100.
Далее таким же образом добавляем поле «phone», если нужно. Длина – 15 символов. Можно больше, если планируете заграничных пользователей.
Переходим в раздел «user_profiles». Добавляем после «showicq» нужные нам поля: «showadress» и «showphone». Тип «tinyint», длина — 1. В поле «по умолчанию», выбираем «Как определено». В появившемся снизу поле вписываем 0. Это означает, что данные поля по умолчанию отображаться в профиле не будут.
Подготовка переменных закончена. Закрываем базу.
Открываем файл «languages/ru/components/users.php»
Находим строку:
Код PHP:
Добавляем после неё две новых:
$_LANG['NUMBER_ICQ'] ='Номер ICQ';
Код PHP:
$_LANG['HOMEADRESS'] ='Адрес'; $_LANG['PHONE'] ='Номер телефона';
Находим строку:[/b]
Код PHP:
$_LANG['SHOW_ICQ'] ='Показывать номер ICQ';
Добавляем после:
Код PHP:
$_LANG['SHOW_ADRESS'] ='Показывать адрес'; $_LANG['SHOW_PHONE'] ='Показывать номер телефона';
Теперь начинаем копаться в файлах InstantCMS. Займёмся профилем пользователя.
Открываем components/users/frontend.php
Находим строку:
Код PHP:
Добавляем ниже:Код PHP:
Чуть ниже, после строки:
$users['phone'] = cmsCore::request('phone', 'str'); $users['adress'] = cmsCore::request('adress', 'str');
Код PHP:
Добавляем:
$profiles['showicq'] = cmsCore::request('showicq', 'int');
Код PHP:
Сохраняем, закрываем.
$profiles['showadress'] = cmsCore::request('showadress', 'int'); $profiles['showphone'] = cmsCore::request('showphone', 'int');
Открываем components/users/model.php
Находим строку:
Код PHP:
После записи «u.icq», добавляем через запятую «u.adress,u.phone,»
$sql = "SELECT
Ищем далее и повторяем тоже самое.
Чуть ниже находим текст «p.showicq» в строке:
p.id as pid, p.city, p.description, p.showmail, p.showbirth, p.showicq, p.showadr,
Добавляем после «p.showadress» и «p.showphone».
Сохраняем, закрываем. С профилем покончено.
Далее файлы регистрации.
Открываем «components/registration/frontend.php»
Находим строку:
Код PHP:
Добавляем по образу и подобию: $item['adress'] = cmsCore::request('adress', 'str', ''); $item['phone'] = cmsCore::request('phone', 'str');
Открываем «components/registration/model.php» и находим текст: 'ask_icq' => 1,. Добавляем через запятую: 'ask_adress' => 1, 'ask_phone' => 1, .
Теперь займёмся настройкой отображением профиля в вашей теме.
Открываем «templates/«ваша тема»/components/ com_users_profile.tpl»
Находим такие строки:
Код PHP:
{if $usr.showicq && $usr.icq} <div class="field"> <div class="title">ICQ:</div> <div class="value">{$usr.icq}</div> </div> {/if}
Вставляем ниже:
Код PHP:
{if $usr.showadress && $usr.adress} <div class="field"> <div class="title">Адрес:</div> <div class="value">{$usr.adress}</div> </div> {/if} {if $usr.showphone && $usr.phone} <div class="field"> <div class="title">Номер телефона:</div> <div class="value">{$usr.phone}</div> </div> {/if}
Переходим в файл «templates/«ваша тема»/components/ com_users_edit_profile.tpl», находим такие строки:
Код PHP:
Добавляем:
<tr> <td valign="top"><strong>{$LANG.NUMBER_ICQ} :</strong></td> <td valign="top"><input name="icq" class="text-input" type="text" id="icq" style="width:300px" value="{$usr.icq}"/></td> </tr>
Код PHP:
<tr> <td valign="top"><strong>{$LANG.HOMEADRESS} :</strong></td> <td valign="top"><input name="adress" class="text-input" type="text" id="adress" style="width:300px" value="{$usr.adress}"/></td> </tr> <tr> <td valign="top"><strong>{$LANG.PHONE} :</strong></td> <td valign="top"><input name="phone" class="text-input" type="text" id="phone" style="width:300px" value="{$usr.phone}"/></td> </tr>
Далее находим строки:
Код PHP:
Добавляем такой текст:
<tr> <td valign="top"><strong>{$LANG.SHOW_ICQ}:</strong></td> <td valign="top"> <label><input name="showicq" type="radio" value="1" {if $usr.showicq}checked{/if}/> {$LANG.YES} </label> <label><input name="showicq" type="radio" value="0" {if !$usr.showicq}checked{/if}/> {$LANG.NO} </label> </td> </tr>
Код PHP:
<tr> <td valign="top"><strong>{$LANG.SHOW_ADRESS}:</strong></td> <td valign="top"> <label><input name="showadress" type="radio" value="1" {if $usr.showadress}checked{/if}/> {$LANG.YES} </label> <label><input name="showadress" type="radio" value="0" {if !$usr.showadress}checked{/if}/> {$LANG.NO} </label> </td> </tr> <tr> <td valign="top"><strong>{$LANG.SHOW_PHONE}:</strong></td> <td valign="top"> <label><input name="showphone" type="radio" value="1" {if $usr.showaphone}checked{/if}/> {$LANG.YES} </label> <label><input name="showphone" type="radio" value="0" {if !$usr.showphone}checked{/if}/> {$LANG.NO} </label> </td> </tr>
Теперь в файле «templates/«ваша тема»/components/ com_registration.tpl», находим такие строки:
Код PHP:
Добавляем ниже:
{if $cfg.ask_icq} <tr> <td valign="top" class=""><strong>Номер ICQ:</strong></td> <td valign="top" class=""> <input name="icq" type="text" class="text-input" id="icq" value="{$item.icq}" style="width:300px"/> </td> </tr> {/if}
Код PHP:
{if $cfg.ask_adress} <tr> <td valign="top" class=""><strong>Адрес:</strong></td> <td valign="top" class=""> <input name="adress" type="text" class="text-input" id="adress" value="{$item.adress}" style="width:300px"/> </td> </tr> {/if} {if $cfg.ask_phone} <tr> <td valign="top" class=""><strong>Телефон:</strong></td> <td valign="top" class=""> <input name="phone" type="text" class="text-input" id="phone" value="{$item.phone}" style="width:300px"/> </td> </tr> {/if}
[/hide]