Поля в профиле, созданные вручную

 
Посетитель
small user social cms
Сообщений: 57
Суть в том, что нужно создать допусти чуть ниже информации "даты регистрации" совсем новое поле, которое в настройках выпадающее, а в просмотре профили как мета тег на instantcms 1.10.1. К примеру "семейное положение", многие скажут почему бы не воспользоваться стандартным конструктором форм, я бы с удовольствием - но там порядок не настроишь, поле будет ниже всей другой главной информации пользователя.

Попробовал сделать по аналогу стандартного поля "ПОЛ" он же "gender", не получилось.

В базе "cms_user_profiles" я создал таблицу по подобию "gender" такую же только со своим название "family".

В файле шаблона com_users_edit_profile добавил:
<tr>
<td valign="top"><strong>Семейное положение:</strong></td>
<td valign="top">
<select name="family" id="family" style="width:307px">
<option value="0" {if $usr.family==0} selected {/if}>{$LANG.NOT_SPECIFIED}</option>
<option value="1" {if $usr.family==1} selected {/if}>Не женат(а)</option>
<option value="2" {if $usr.family==2} selected {/if}>Встречаюсь</option>
<option value="3" {if $usr.family==3} selected {/if}>Помолвлен(а)</option>
<option value="4" {if $usr.family==4} selected {/if}>Женат(а)</option>
<option value="5" {if $usr.family==5} selected {/if}>Влюблен(а)</option>
<option value="6" {if $usr.family==6} selected {/if}>Все сложно</option>
<option value="7" {if $usr.family==7} selected {/if}>В поиске</option>
</select>
</td>
</tr>

В файле шаблона com_users_profile добавил:
{if $usr.ffamily}
<div class="field">
<div class="title">Семейное положение:</div>
<div class="value">{$usr.ffamily}</div>
</div>
{/if}

В файле frontend который находится в корне в папки компонентов, юзер, добавил:
// Возможные входные переменные
$family = cmsCore::getSearchVar('family');

// Добавляем в выборку пол, если есть
тут я него не добавлял

// Если поиск включен, подключаем автокомплит для городов
$smarty->assign('family', $family);

// Если сохраняем профиль
$profiles['family'] = cmsCore::request('family', 'str');

В той же папки в файле model добавил:

public function whereFamilyIs($family) {
$this->inDB->where("p.family = '$family'");
}


$sql = "SELECT
p.family as family


if ($user['family']) {
switch ($user['family']){
case '1': $user['ffamily'] = $_LANG['SINGLE']; break;
case '2': $user['ffamily'] = $_LANG['DATING']; break;
case '3': $user['ffamily'] = $_LANG['ENGAGED']; break;
case '4': $user['ffamily'] = $_LANG['MARRIED']; break;
case '5': $user['ffamily'] = $_LANG['LOVE']; break;
case '6': $user['ffamily'] = $_LANG['DIFFICULT']; break;
case '7': $user['ffamily'] = $_LANG['LOOKING']; break;
default: $user['ffamily'] = '';
}
}
$user = cmsCore::callEvent('GET_USER', $user);
return $user;

Получается в настройках профиля все нормально стало отображаться и при изменениях в базу добавляется значение. А вот в самом профиле нечего не отображается, отображается название поля и его значение 1или2или3 и.т.д - и это отображается только если в файле com_users_profile изменить две строчки вот так:


{if $usr.family}
между этих строк код, как выше я писал
<div class="value">{$usr.family}</div>

а если это не сделать то вообще нечего не отображается..

нужно что бы не цифры отображались а его перевод - например встречаюсь, помолвлен, женат и.т.д

В users в папки с переводом добавил SINGLE, DATING, ENGAGED, MARRIED, LOVE, DIFFICULT, LOOKING.

Помогите доделать
Редактировалось: 1 раз (Последний: 22 февраля 2013 в 18:03)
Модератор
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1097
Видимо никак не научить людей поиском пользоваться. Что ж такое...
Вот пример как сделать еще одно поле.
Вот пример, как сделать поле "семейное положение".
Понимаю, что все примеры для старых версий, но если подумать головой, то можно сделать по аналогии.
Редактировалось: 1 раз (Последний: 22 февраля 2013 в 18:13)
Реклама
cms
Посетитель
small user social cms
Сообщений: 57
Сделал как во второй ссылки, тоже самое выводиться только "case 'y'" а не слово. Пытаюсь решить проблему sad
Посетитель
no avatar
МедальАвторитет форума
Сообщений: 2917
в само движке бы не помешало конечно, чтобы можно было задавать проивольные поля или через плагины бы реализовывалось
Посетитель
small user social cms
Сообщений: 57
Поля в профиле, созданные вручную
Посетитель
small user social cms
Сообщений: 57
Проблема пока что остается актуальной!

yury:
в само движке бы не помешало конечно, чтобы можно было задавать проивольные поля или через плагины бы реализовывалось

Согласен. Возможно в instantcms 2, будет такая возможность joke
Посетитель
small user social cms
Сообщений: 57
Неужели никто не знает, как решить данный вопрос. cry
Редактировалось: 1 раз (Последний: 28 февраля 2013 в 13:14)
Посетитель
small user social cms
Сообщений: 57
Ура! Решение тут
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: