[Custom Profile Field Mod] - Дополнительные поля в профиле

Автор PluSh_KiLLeR, 09 марта 2006, 18:26:23

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

BIOHAZARD

Цитата: Vergily от 24 апреля 2009, 11:21:25
Создал доп поле sip-номер
вывожу в позицию под аватар, где миниатюры ЛС, ICQ и тп.
Отображается сам номер текстом.
А  как сделать иконку телефона?
Используйте ВВ коды
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

Serifa

А вот у меня в этой позиции упорно никакие поля не показываются. Мод встал криво?
«- Помощник капитана Бакстер, - заявил Лумис, - безбожно врет. Все отнюдь не под контролем, вернее, не под его контролем. Корабль захвачен представителями небелковой формы разумной жизни, которые маскируются под обслуживающих роботов, а некоторые даже не делают и этого...»
«То, что у тебя есть, лечится антибиотиками» (nowhere man, 1995)
В телеге срочно нужны читатели!

KliViT

Блин туплю наверно. И где же это во 2 версии уже стоит добавление полей? м?

Drakonsa

Цитата: KliViT от 02 мая 2009, 11:48:23
Блин туплю наверно. И где же это во 2 версии уже стоит добавление полей? м?
Admin - Features and Options - Profile Fields        

KliViT

Drakonsa, спасибо. я забыл просто включить данную опцию)

AIR82

Как я понимаю он работает только на дефолтовой теме, а как сделать чтоб работал и на НЕ дефолтовой, подскажите как так сделать?

Kosten

Цитата: AIR82 от 15 июня 2009, 11:58:46
Как я понимаю он работает только на дефолтовой теме, а как сделать чтоб работал и на НЕ дефолтовой, подскажите как так сделать?
Сначала стаим мод, т.к. не думаю что захочется менять код в сорсах, затем:
1) файл Profile.template.php
ищем // If karma is enabled let the admin edit it...
меняем наglobal $sourcedir;
require_once($sourcedir . '/CustomProfile.php');
EditFields();

// If karma is enabled let the admin edit it...

2) ищем    // Can they add this member as a buddy?
меняем на global $sourcedir;
require_once($sourcedir . '/CustomProfile.php');
DisplayFieldsProfile();
// Can they add this member as a buddy?

3) файл: Display.template.php
ищем <a href="', $scripturl, '?action=pm;sa=send;u=', $message['member']['id'], '" title="', $message['member']['online']['label'], '">', $settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/im_' . ($message['member']['online']['is_online'] ? 'on' : 'off') . '.gif" alt="' . $message['member']['online']['label'] . '" border="0" />' : $message['member']['online']['label'], '</a>';
меняем на <a href="', $scripturl, '?action=pm;sa=send;u=', $message['member']['id'], '" title="', $message['member']['online']['label'], '">', $settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/im_' . ($message['member']['online']['is_online'] ? 'on' : 'off') . '.gif" alt="' . $message['member']['online']['label'] . '" border="0" />' : $message['member']['online']['label'], '</a>';
DisplayFieldPostsPictures();

4) ищем // Show how many posts they have made.
меняем на  global $sourcedir, $messagevars;
$messagevars = $message;
require_once($sourcedir . '/CustomProfile.php');
DisplayFieldPosts();

// Show how many posts they have made.

5) файл: PersonalMessage.template.php
ищем <a href="', $scripturl, '?action=pm;sa=send;u=', $message['member']['id'], '" title="', $message['member']['online']['label'], '">', $settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/im_' . ($message['member']['online']['is_online'] ? 'on' : 'off') . '.gif" alt="' . $message['member']['online']['label'] . '" />' : $message['member']['online']['label'], '</a>';
меняем на <a href="', $scripturl, '?action=pm;sa=send;u=', $message['member']['id'], '" title="', $message['member']['online']['label'], '">', $settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/im_' . ($message['member']['online']['is_online'] ? 'on' : 'off') . '.gif" alt="' . $message['member']['online']['label'] . '" />' : $message['member']['online']['label'], '</a>';
DisplayFieldPostsPictures();

6) ищем // Show how many posts they have made.
меняем на global $sourcedir, $messagevars;
$messagevars = $message;
require_once($sourcedir . '/CustomProfile.php');
DisplayFieldPosts();

// Show how many posts they have made.

7) файл: Register.template.php
ищем echo '
</table>
</td>
</tr>
</table>';

иеняем на global $sourcedir;
require_once($sourcedir . '/CustomProfile.php');
RegistrationFields();
echo '
</table>
</td>
</tr>
</table>';

8 ) кладем файлы CustomProfile.english.php и CustomProfile.russian.php в папку с языковыми файлами (theme\languages)

Вродебы все так, но на всякий случай, не забываем про бекап =)

AIR82

Kosten, спасиба за труды, но в том то и дело что немогу слить бэкап (

Kosten

Цитата: AIR82 от 15 июня 2009, 12:49:59
Kosten, спасиба за труды, но в том то и дело что немогу слить бэкап (
А что мешает?

AIR82


Alber

привет всем. обновил форум до 1.1.10 и Custom Profile Field Mod    до 3.20. Настройки в админке и у пользователей сохранились, а на регистрации теперь добавочных полей нет. Как починить кто-нибудь знает?

обновлял форум вручную через modified_1-1-9_1-1-10.zip

Kosten

Я думаю, что можно попробывать переустановить мод

Alber


Serifa

Цитата: Alber от 15 июля 2009, 19:04:23
привет всем. обновил форум до 1.1.10 и Custom Profile Field Mod до 3.20. Настройки в админке и у пользователей сохранились, а на регистрации теперь добавочных полей нет. Как починить кто-нибудь знает?
обновлял форум вручную через modified_1-1-9_1-1-10.zip

У меня такое было, после поломки форума (взлома), но при этом все добавочные поля остались в базе данных, я их там видела. Надо было просто прописать их id во вновь созданных.
«- Помощник капитана Бакстер, - заявил Лумис, - безбожно врет. Все отнюдь не под контролем, вернее, не под его контролем. Корабль захвачен представителями небелковой формы разумной жизни, которые маскируются под обслуживающих роботов, а некоторые даже не делают и этого...»
«То, что у тебя есть, лечится антибиотиками» (nowhere man, 1995)
В телеге срочно нужны читатели!

elza

Урааа! я сделала так, чтобы стандартные поля стали обязательными и не добавлялось никаких новых полей в профиле! Если чо - пишите в личку или на почту! Изменила файл customProfile.php

Mavn

Цитата: elza от 11 октября 2009, 16:36:41
Урааа! я сделала так, чтобы стандартные поля стали обязательными и не добавлялось никаких новых полей в профиле! Если чо - пишите в личку или на почту! Изменила файл customProfile.php
а не проще ли сразу выложить решение на сайте??
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

decebel2

Цитата: elza от 11 октября 2009, 16:36:41
Урааа! я сделала так, чтобы стандартные поля стали обязательными и не добавлялось никаких новых полей в профиле!
Присоединяюсь, выложите решение здесь.

elza

#167
Да нет - тогда было не прощще. Много править - а как код красиво тут вставить - незнаю...
Все изменения сделаны после установки мода  CustomProfile.

Вобщем отчитываюсь - сделала дополнительный тип Текст3 - для ввода 3х дополнительных полей в одну строку (мне нужно было сделать дату).
Для этого добавила в файле CustomProfile.russian.php строку
$txt['cp_text3'] = 'Текст3';
+ изменения в файле CustomProfile.Php

Исправила в типе Выборочный - значение, которое присваивается. То есть на сайте отображается то, что в админке написали а  присваивается номер опции.

посмотреть что получилось можно ЗДЕСЬ  в разделе регистрация

Все поля ниже картинки - дублируют по значению имеющиеся в профиле, но в профиле не показываются. Идея в том, что заменила ID которые присваивает мод на родные ID полей (например SP1 - locatoin). Сделано так:  в коде модуля CustomProfile.php ищем

name="default_options[' . $modSettings['CP' . $i . '_id'] . ']"

и заменяем на

name="' . $modSettings['CP' . $i . '_id'] . '"

Для того чтобы не дублировалось в профле при редактировании профиля, в файле  Profile.template.php
ищем             EditFields();

заменяем  на  //EditFields();

Но - если вы создали новое поле, которого нет в профиле , то его нельзя будет отредактировать.

Вобщем все поправлено вручную - изменила  код модуля CustomProfile.php. Прицепляю исправленый модуль во волжение.

elza

В принципе можно сделать и чтобы в профиле было не видно и чтобы в подписях показывалось - также добавляенм код по аналогии и, например , ставим где надо проверку по ID поля. Но такой задачи не стояло вот и не делала.

elza

еххх так писали так писали а никто даже не посмотрел...
неужели совсем фигню сделала??? дак хоть бы сказали - фигня
и типа - вот так вотнадо делать по настоящему

DimaB

Чтобы созданные поля не отображались, достаточно во вкладке "Выборочные поля в профиле" убрать галочку. При этом поле можно вручную прописать там, где нужно.

elza

если вы потом будете в настройках профиля редактировать они там будут
- посмотрите внимательно

DimaB

Цитата: elza от 30 октября 2009, 20:25:19
если вы потом будете в настройках профиля редактировать они там будут
- посмотрите внимательно
Все работает именно так, как я написал. Вы же в CustomProfile.Php вручную прописали эти поля, взамен других. Естественно, они скрываться не будут. Вернитесь к исходному коду или временно раскоментируйте "//EditFields();", в дубле скрытые поля отображаться не будут.

elza

Да нет же! все автоматически добавляется через админку! я просто поменяла ID

А в CustomProfile.php я залезла только для того , чтобы сделать новый тип обязательного(ну или не обязательного) поля - Текст3 (добавление  3х полей одновременно, которые в форме для заполнения отображаются в одну строку - мне нужно было сделать дату)

DimaB

Извиняюсь, Вы правили Profile.template.php, а не CustomProfile.Php.
Цитата: elza от 14 октября 2009, 12:44:35
Для того чтобы не дублировалось в профле при редактировании профиля, в файле  Profile.template.php
ищем             EditFields();
заменяем  на  //EditFields();
Поля Вы не прописывали вручную, Вы используете родные движка форума.
Цитата: elza от 06 ноября 2009, 08:41:53
я просто поменяла ID
Собственно, у Вас мод и будет работать не так, как задумал автор. Я говорю про авторский вариант.
Цитата: elza от 06 ноября 2009, 08:41:53
А в CustomProfile.php я залезла только для того , чтобы сделать новый тип обязательного(ну или не обязательного) поля - Текст3 (добавление  3х полей одновременно, которые в форме для заполнения отображаются в одну строку - мне нужно было сделать дату)
А не проще было бы создать 3 поля, скрыть их, и вручную расставить там где надо? А возможности мода не обрезать созданием этих трех полей. Ведь могут и другие поля потребоваться.

elza

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

Serifa

Я вообще не поняла, о чем вы тут говорите. Я про другое.
У меня не стоит "антиспам" на форуме, гостям запрещено постить, а если кто-то все же регистрируется и спамит - мы его баним. Народу мало, так что без особых проблем пока.
Но я создала поле, обязательное при регистрации, назвала его "Ваша планета". И оттого, как оно заполняется, можно судить, насколько адекватен новый участник. Как ни странно, боты пока перестали региться, а все остальные послушно пишут названия реальных планет. Только один написал - "Москва", и мы его простили))
«- Помощник капитана Бакстер, - заявил Лумис, - безбожно врет. Все отнюдь не под контролем, вернее, не под его контролем. Корабль захвачен представителями небелковой формы разумной жизни, которые маскируются под обслуживающих роботов, а некоторые даже не делают и этого...»
«То, что у тебя есть, лечится антибиотиками» (nowhere man, 1995)
В телеге срочно нужны читатели!

Alber

господа, еще одна проблемка с модом: у меня после обновления поля у пользователей теперь отражаются два раза одни и те же. Кто нибудь сталкивался с таким?

мод версии 3-20 с офсайта и последняя руссиф-я из этого топика залита вручную в /Themes/default/languages

elza

Дак я собсно об этом и говорила Про дублирование полей. Выше постом отписала как решаетсо

Alber

elza, дело в том, что у меня значения custom полей дублируются в самих постах под никами, а не в профиле, и я вручную ничего не менял. это, я так понимаю, другой случай?

-LoRD-

Цитата: elza от 11 октября 2009, 16:36:41
Урааа! я сделала так, чтобы стандартные поля стали обязательными и не добавлялось никаких новых полей в профиле! Если чо - пишите в личку или на почту! Изменила файл customProfile.php
Есть ли возможность создания того же на 2.0 RC2 ?????

DimaB

Цитата: Alber от 02 декабря 2009, 20:24:57
господа, еще одна проблемка с модом: у меня после обновления поля у пользователей теперь отражаются два раза одни и те же. Кто нибудь сталкивался с таким?
Была таже проблема. Мод установился 2 раза. Вручную удалял все дубли по модифицируемым файлам.

ivankz

при регистрации нового участника форума добавлено поле, которое требует заполнения при регистрации (сейчас это ссылка на рейтинг).
Далее нужен код, который будет читать это поле и проверять, содержится ли там строка "navyfield", если нет - посылать бота подальше. ;)

весия SWF 1.1.11 версия мода 3.20

никак сам не дойду как это сделать, помогите пожалста.
если не ошибаюсь это меняеться это хде-то здесь
if ($area == 'register')
{
  while (isset($modSettings['enable_CP' . $i . '']))
  {
  if ($modSettings['enable_CP' . $i . ''] && $modSettings['CP' . $i . '_reg']=='force' && empty($_POST['default_options'][$modSettings['CP' . $i . '_id']]))
  {
    loadLanguage('CustomProfile');
    $txt['cp_regerror'] = preg_replace('/FIELDNAME/', $modSettings['CP' . $i . '_name'], $txt['cp_regerror']);
    fatal_lang_error('cp_regerror', false);
  }
  elseif ((!empty($modSettings['CP' . $i . '_edit']) || empty($modSettings['enable_CP' . $i . ''])) && isset($_POST['default_options'][$modSettings['CP' . $i . '_id']]))
    unset($_POST['default_options'][$modSettings['CP' . $i . '_id']]);

  $i++;
  }



Говори кратко, проси мало, уходи борзо!
Пётр I

ivankz



Говори кратко, проси мало, уходи борзо!
Пётр I

digger®

Для SMF2 делал так:

В Register.php добавить

if (empty($_POST['location'])) $reg_errors[] = 'Вы не указали Расположение.';
if (empty($_POST['gender'])) $reg_errors[] = 'Вы не указали Пол.';
   
перед

// Process any errors.


ivankz

ЦитироватьДалее нужен код, который будет читать это поле и проверять, содержится ли там строка "navyfield", если нет - посылать бота подальше. ;)
что то не догнал я немного,
здесь менять? Register.template.php?

содержится ли там строка "navyfield" это для меня важно


Говори кратко, проси мало, уходи борзо!
Пётр I

digger®

Цитата: ivankz от 17 августа 2010, 09:47:16
что то не догнал я немного,
здесь менять? Register.template.php?

содержится ли там строка "navyfield" это для меня важно

Строка "navyfield" там ясный пень не содержится, это пример со стандартными полями.


ivankz



Говори кратко, проси мало, уходи борзо!
Пётр I

Q_A

Доброго времени суток
К всем вам за помошью. По своей проблеме юзал много поиск, кое-что нашел, но от кое-чего еще больше вопросов появилось. Поскольку сам я не PHP-шник то понять что вписывать в
поиск не всегда понятно. Буду рад если поможете.

Версия форума 1.1.11
Версия мода 3.19
Тема на форуме - default

Ситуация, как оказываеться, класическая:
Есть поле для зарегистрированных пользователей "Расположение". Теперь появилась необходимость сделать это поле обязательным для регистрации. Поиском узнал, что это нереально -
только ставить мод и создавать новое поле или обновлять версию форума. Мод поставлен еще задолго до этой проблемы - дополнительное поле "Откуда" создали. Из поиска опять же узнал,
что предлагают поменять названия поля "Расположение".
Искал в кодах перевода (//Themes/default/languages/) это поле - не нашел. В файлике //Themes/default/Profile.Template.php нашел где поле "расположение" обьявляется:
<tr>
               <td><b>', $txt[227], ':</b></td>
               <td>', $context['member']['location'], '</td>
            </tr>

начал снова искать в файлах перевода текст 227,но так и не нашел :( Пока что я это поле в этом файлике просто закомитил, и оно перестало отображаться на форуме, но цель была не совсем таковатакова.
Нам нужно:
1. Узнать в какой таблице (или еще где-то) находятся данные нового поля "Откуда"
2. Перенести данные из соответствующей таблицы поля "расположение" (порывшись в базе, нашел что это табличка %members поле locations) в табличку поля "откуда"
3. Затереть данные в табличке location.
4. Сделать чот-то с полем "Расположение". Лучше всего - переименовать.

Исходя из этих задач хочу спросить:
1. В какие табличцы данный мод складывает информацию по новым полям? рылся в БД, но не нашел.
2. Где изменить название поля - расположение ? :(

digger®

Цитата: Q_A от 01 сентября 2010, 18:32:32
Ситуация, как оказываеться, класическая:
Есть поле для зарегистрированных пользователей "Расположение". Теперь появилась необходимость сделать это поле обязательным для регистрации.
Почему просто не поставить мод Location on reg?

Q_A

Цитата: digger от 01 сентября 2010, 18:41:38
Почему просто не поставить мод http://custom.simplemachines.org/mods/index.php?mod=1651 [Location on reg] ?

Очень интерестно.
Но из описания мода не ясно - поле будет ОБЯЗАТЕЛЬНЫМ для заполнения при регистрации?

и ничего что у нас версия 1,1,11 а в описании мода написано : Compatible With: 1.1.8, 1.1.9

digger®

Цитата: Q_A от 01 сентября 2010, 18:59:51
Очень интерестно.
Но из описания мода не ясно - поле будет ОБЯЗАТЕЛЬНЫМ для заполнения при регистрации?
Обязательным оно не будет, по моему.
А в чем такая потребность сделать его обязательным? Ну будут тогда туда вписывать единицы и точки, будет еще хуже чем просто пустое.
Цитировать
и ничего что у нас версия 1,1,11 а в описании мода написано : Compatible With: 1.1.8, 1.1.9
Ничего.

Q_A

Цитата: digger от 01 сентября 2010, 19:12:59
Обязательным оно не будет, по моему.
А в чем такая потребность сделать его обязательным? Ну будут тогда туда вписывать единицы и точки, будет еще хуже чем просто пустое.Ничего.

Нуууууууу
это уже вопрос другого харрактера. В двух словах: на форуме есть раздел купи/продай и по глупости одному человеку пришлось искать клиента в одном городе по адресу другого города :D.
Ну поржать - поржали,но решили, что надо сделать поле необходимым.
То что оно будет необязательным - не спасет. Его никто заполнять не будет. Будут писать точки и все ткаое  - нестрашно. Все равно процент написавших повыситься.
Да и это все провериться тогда когда сделаеться, потому что делаться все равно будет.

Спасибо за вариант с дополнительным модом,но не подходит :(

Есть у кого-то варианты ответа на мой вопрос?

Макар

Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny


Q_A

переходить на 2-ю версию мне будет сложно т.к. я этим не занимался. Вполне реально что разберусь, но пока эту идею откладываю. Легче переименовать поле и перенести данные в новое т.к. с базами даных я тесно связан.

Цитата: Drakonsa от 02 сентября 2010, 13:20:16
http://custom.simplemachines.org/mods/index.php?mod=319
Show on registration: force input
Не совсем понял что вы этм хотели сказать. Но мод уже давно УСТАНОВЛЕН

я хотел узнать:
1. В какие табличцы данный мод складывает информацию по новым созданным полям? (рылся в БД, но не нашел)
2. Где изменить название поля - "расположение" ?

Q_A

Цитата: Q_A от 02 сентября 2010, 15:59:10
1. В какие табличцы данный мод складывает информацию по новым созданным полям? (рылся в БД, но не нашел)
2. Где изменить название поля - "расположение" ?

никто не знает ?  :'(

Marginal

\Themes\default\languages\index.russian(-utf8).php
$txt[227] = 'Расположение';  //строка 143

\Themes\default\languages\Manual.russian(-utf8).php
$txt['manual_profile_location'] = 'Расположение'; //строка 643
$txt['manual_profile_forum_profile_info'] = '<strong>Информация Профиля на Форуме</strong> позволяет Вам вводить персональные данные такие как <strong>пол</strong>, <strong>дата рождения</strong>, <strong>расположение</strong>, <strong>веб-сайт</strong> и <strong>мессенджеры</strong> контактную информацию. Там же Вы можете ввести Вашу <strong>подпись под аватаром</strong>, <strong>подпись</strong> и выбрать <strong>аватар</strong> (личное изображение) из списка (если предоставлен Администратором форума) или ссылкой на Ваш собственный аватар в Интернете.'; //строка 668

По моду пусть подскажут те, у кого он установлен).

Макар

Распакуй пакет мода и посмотри в нотепаде куда мод сохраняет данные например при отправке формы создания нового поля . В пакете есть файл с языковыми переменными . Зная правила перевода модов легко найдешь свое "расположение".
Если Вы здесь недавно, не обольщайтесь тоном некоторых дискуссий.
Все чаще слова - юзай поиск, приобретают смысл - иди в ж..........  Приобретение смысла автоматизированно - Ответы на любой вопрос по SMF
Не пишите несколько сообщений подряд - тут вам не Twitter  >:( в остальных ситуациях мы не сильно зверствуем 2funny