Нашёл в конструкторе форм mysayt/components/users/includes/ userforms.php, в районе 93 строки:
а на 1.10 где менять не подскажете?
По вашей просьбе сделал небольшой хак компонента — Пользователи. Теперь всё работает без конструктора форм.
Начал с правки файла
шаблон/components/com_users_edit_profile.tpl. Тут создал поле для ввода, по образу и
подобию соседних полей.
<div id="contacts">
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td width="300" valign="top">
<strong
>E
-mail:</strong
><br
/> <span class="usr_edithint">{$LANG.REALY_ADRESS_EMAIL}</span>
</td>
<td valign="top">
<input name="email" type="text" class="text-input" id="email" style="width:300px" value="{$usr.email}"/>
</td>
</tr>
<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>
<tr>
<td valign="top"><strong>{$LANG.GOOGLE_PLUS} :</strong><br /><span class="usr_edithint">{$LANG.GOOGLE_PLUS_TEXT}</span></td>
<td valign="top"><input name="g_plus" class="text-input" type="text" id="g_plus" style="width:300px" value="{$usr.g_plus}"/></td>
</tr>
</table>
</div>
Далее занялся определением места где выводить информацию. Для этого правил файл
шаблон/components/com_users_profile.tpl
{if $usr.showicq && $usr.icq}
<div class="field">
<div class="title">ICQ:</div>
<div class="value">{$usr.icq}</div>
</div>
{/if}
{if $usr.g_plus}
<div class="field">
<div class="title">{$LANG.GOOGLE_PLUS} :</div>
<div class="value"><a href="https://plus.google.com/u/0/{$usr.g_plus}/about" rel="me" target="_blank">{$LANG.GOOGLE_PLUS_PAGE}</a></div>
</div>
{/if}
Дальше пошёл в языковой файл
languages/ru/components/users.php и добавил следующие константы:
$_LANG['GOOGLE_PLUS'] ='Google+';
$_LANG['GOOGLE_PLUS_PAGE'] ='Моя страница Google+';
$_LANG['GOOGLE_PLUS_TEXT'] ='Вводите только id страницы. <br />Например: 105434015661921271677';
Далее выполнил запрос в таблице
cms_user_profiles БД и добавил поле
g_plus
ALTER TABLE cms_user_profiles ADD g_plus VARCHAR(30) NOT NULL;
Теперь настала пора настроить запись первым правленым файлом в БД и вытаскивать полученную инфу на страницу профиля. Для этого стал изучать файлы components/users/frontend.php и components/users/model.php
В
components/users/frontend.php между 250 и 259 строками написал:
$g_plus = cmsCore::request('g_plus', 'str');
далее в запрсе к БД, начинаеется он в районе 282 строки, добавил обращение к полю g_plus таблицы cms_user_profiles. В итоге получил следующий вид:
$sql = "UPDATE cms_user_profiles
SET city = '$city',
description = '$description',
g_plus = '$g_plus',
showmail='$showmail',
showbirth='$showbirth',
showicq='$showicq',
allow_who='$allow_who',
signature='$signature',
signature_html='$signature_html',
gender='$gender',
formsdata='$formsdata',
email_newmsg='$email_newmsg',
cm_subscribe='$cm_subscribe'
WHERE user_id = '$id'";
$inDB->query($sql) ;
Далее в
components/users/model.php на 229 строке начинается запрос к БД. В него я добавил
p.g_plus,
. Получилось так(239 стр.):
p.city, p.karma, p.imageurl, p.g_plus,
Также я поступил и с запросом начинающемся на 313 строке.
p.g_plus, добавил в конец 327 строки.
В итоге я получил такую картину:
и поле для добавления:
Возможно есть и более элегантный вариант решения, НО
Я НЕ ПРОГРАММИСТ, поэтому я его не знаю.
И в связи с этим прошу не очень сильно меня пинать.