View Full Version : Custom Field in Showgroups
BlueRad
10-26-2009, 05:05 PM
Hi, I've been having a problem putting a custom profile field in the showgroups, I know its possible because I did it a few months ago, unfortunately I lost data on my server and this modification was one of the casualties.
I have the new cells put in the table through the templates and I'm trying to call the content like this:
<td class="$bgclass" align=center>
<if condition="$user['field9']">
<img src=http://www.mysite.com/forum/images/ranks/$user[field9].gif>
</if>
I know by default this shouldn't work, what I did last time was put a single line in one of the php docs that required or included another php file or template but I'm at a loss to remember which it was.
(Note: I only lost the php files so the database is still original, I know this code worked!)
Any help would be greatly appreciated :)
Lynne
10-26-2009, 05:42 PM
Since you are doing something on the showgroups.php page, have you looked for a query in that file and tried to add your field to it?
BlueRad
10-28-2009, 05:49 PM
Yes, I believe it is showgroups.php that has to be edited, and I remember it being really simple, something to the effect of modifying:
// pre-cache templates used by all actions
$globaltemplates = array(
'SHOWGROUPS',
'showgroups_forumbit',
'showgroups_usergroup',
'showgroups_usergroupbit',
'postbit_onlinestatus',
***** Add something here maybe??? ******
);
Problem is I can't remember what has to be added if its a template or a call to include a php doc or even if its a db call, but it was one simple line or word that I added somewhere in showgroups.php, yes.
--------------- Added 1256756860 at 1256756860 ---------------
ok, I'm sure this Isn't how I did it last time but it works.... If anyone is trying to do the same thing:
in showgroups.php
Find:
// 2 is the default location field and the one we always use in the template
$show['locationfield'] = $db->query_first("
SELECT profilefieldid
FROM " . TABLE_PREFIX . "profilefield
WHERE profilefieldid = 2
");
Below it add: (Replace Fieldxxx and = X with your variable name and the field ID
// 2 is the default location field and the one we always use in the template
$show['fieldxxx'] = $db->query_first("
SELECT profilefieldid
FROM " . TABLE_PREFIX . "profilefield
WHERE profilefieldid = X
");
FIND 2 instances of:
(and again, replace fieldxxx with your variable name and the X in fieldX with your field ID.
" . ($show['locationfield'] ? 'userfield.field2,' : '') . "
Below both add:
" . ($show['fieldxxx'] ? 'userfield.fieldX,' : '') . "
Tested and works with the code in the first post :)
(Running VB 3.8.4 Patch Level 1)
Lynne
10-28-2009, 06:10 PM
That isn't a query. That is just the array of templates to be cached.
BlueRad
11-10-2009, 07:39 PM
Didn't say it was (?)
Like I said, It isn't the way I did it last time, but as long as it works :)
May even help others ;)
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, vBulletin Solutions Inc.