Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions

Reply
 
Thread Tools Display Modes
  #1  
Old 05-11-2004, 01:24 AM
Bill Thebert Bill Thebert is offline
 
Join Date: Mar 2002
Posts: 38
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Conditional in memberlist_resultsbit

I've tweaked the member profile template on one of my sites to support LARGE photos (640 pixels) displayed at the center-bottom, below all of the other profile information. My users find these images much more useful than the tiny 100px profile pics supported by vB3.0.1 as a default. And larger images aren't aesthetically pleasing in the default location. So far, so good. This part is working well, as pictured below:



What I want to NOW do is display a small icon on the "Member List" page, if and only if a profile pic is present. (Obviously a 640px image is too large to simply include in a column.)

So, with the background info out of the way, here's the part of the memberlist_resultsbit template code I want to tweak:

Original code:

PHP Code:
<if condition="$show['profilepiccol'] AND exec_switch_bg()"><td class="$bgclass">$userinfo[profilepic]</td></if> 
Here's my first try at what I think I want instead:

PHP Code:
<if condition="$show['profilepiccol'] AND exec_switch_bg() AND $userinfo[profilepic]<>NULL"><td class="$bgclass"><img src="/forums/images/misc/pic.gif"></td></if> 
As you can see, I'm attempting to add a third condition (*if* a profile pic is present), and if so, to display a small icon. Otherwise, I'd like to just echo an empty column ("<td></td>").

I'm a rank beginner at this stuff (but I'm trying to learn), and my problems at the moment are two:

1) My third condition isn't working. The icon is appearing in ALL cases, regardless of whether a profile pic is present or not; and

2) I don't know how to put the "else" part in there. The syntax of these conditionals isn't anything like the if/then/else syntax shown in the PHP4 reference book that I have at my disposal.

Can anyone give this rookie some guidance? I think I've explained what I'm trying to achieve here.

Regards,

Bill
Reply With Quote
  #2  
Old 05-14-2004, 12:23 PM
Bill Thebert Bill Thebert is offline
 
Join Date: Mar 2002
Posts: 38
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I could still use some help on this, if anyone is so inclined.

Here's the code I'd like to use in the memberlist_resultsbit template:

PHP Code:
<if condition="$show['profilepiccol'] AND exec_switch_bg()">
     <
td class="$bgclass">

         <if 
condition="$userinfo[profilepic]<>NULL">
             <
img src="/forums/images/misc/pic.gif">
         </if>

     </
td>
</if> 
But the interior (nested) conditional isn't correct. I'd like to display the icon only if a profile picture is actually present, and display nothing (an empty table cell) if the user has NOT uploaded a profile pic.

My problem is contained entirely within the phrase:

<if condition="$userinfo[profilepic]<>NULL">

Can anyone help me correct this one little part? That's all I need for this to work as desired.

Thanks,

Bill
Reply With Quote
  #3  
Old 05-14-2004, 02:42 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Try this and let me know if it does what you want.

HTML Code:
<if condition="$show['profilepiccol']"> 
	 <td class="$bgclass"> 
		 <if condition="$userinfo[profilepic]"> 
			 <img src="/forums/images/misc/pic.gif"> 
		 </if> 
	 </td> 
</if>
Reply With Quote
  #4  
Old 05-14-2004, 02:48 PM
Bill Thebert Bill Thebert is offline
 
Join Date: Mar 2002
Posts: 38
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Boofo
Try this and let me know if it does what you want.

HTML Code:
<if condition="$show['profilepiccol']"> 
	 <td class="$bgclass"> 
		 <if condition="$userinfo[profilepic]"> 
			 <img src="/forums/images/misc/pic.gif"> 
		 </if> 
	 </td> 
</if>
Thanks, Boofo.

Tried your suggestion, but the icon is still displaying for *ALL* users -- not just the ones who've actually uploaded profile pictures.

I''m not clear on precisely how & where the profile pics are stored, and therefore what the conditional ought to look like.

Any other thoughts?
Reply With Quote
  #5  
Old 05-14-2004, 02:56 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Try this:

HTML Code:
<if condition="$show['profilepiccol'] AND exec_switch_bg()"> 
	 <td class="$bgclass"> 
		 <if condition="$userinfo['profilepic'] != ''"> 
			 <img src="/forums/images/misc/pic.gif"> 
		 </if> 
	 </td> 
</if>
Reply With Quote
  #6  
Old 05-14-2004, 03:10 PM
Bill Thebert Bill Thebert is offline
 
Join Date: Mar 2002
Posts: 38
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Boofo
Try this:

HTML Code:
<if condition="$show['profilepiccol'] AND exec_switch_bg()"> 
	 <td class="$bgclass"> 
		 <if condition="$userinfo['profilepic'] != ''"> 
			 <img src="/forums/images/misc/pic.gif"> 
		 </if> 
	 </td> 
</if>
Still showing the icon for everyone. :::shrug:::
Reply With Quote
  #7  
Old 05-14-2004, 03:13 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok, the code in the memberlist_resultsbit template, maybe you could do this?

Change this:

HTML Code:
 <if condition="$show['profilepiccol'] AND exec_switch_bg()"><td class="$bgclass">$userinfo[profilepic]</td></if>
to this?

HTML Code:
 <if condition="$show['profilepiccol'] AND exec_switch_bg()"><td class="$bgclass"><img src="/forums/images/misc/pic.gif"></td></if>
Reply With Quote
  #8  
Old 05-14-2004, 04:03 PM
Bill Thebert Bill Thebert is offline
 
Join Date: Mar 2002
Posts: 38
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Boofo
Ok, the code in the memberlist_resultsbit template, maybe you could do this?

Change this:

HTML Code:
 <if condition="$show['profilepiccol'] AND exec_switch_bg()"><td class="$bgclass">$userinfo[profilepic]</td></if>
to this?

HTML Code:
 <if condition="$show['profilepiccol'] AND exec_switch_bg()"><td class="$bgclass"><img src="/forums/images/misc/pic.gif"></td></if>

I'm just a beginner at this, but that seems to me to be saying:

"If the 'profile pic' column is turned on in the Member List , then display the icon."

Where's the logic that checks to see if an individual member's profile pic *exists*?

Without even trying it, that looks to me like it will for sure display the icon for EVERY user. No?

I really appreciate your efforts here, Boofo. I feel like I'm *so* close to getting it the way I want.

Best,

Bill
Reply With Quote
  #9  
Old 05-14-2004, 04:05 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Bill Thebert
I'm just a beginner at this, but that seems to me to be saying:

"If the 'profile pic' column is turned on in the Member List , then display the icon."

Where's the logic that checks to see if an individual member's profile pic *exists*?

Without even trying it, that looks to me like it will for sure display the icon for EVERY user. No?

I really appreciate your efforts here, Boofo. I feel like I'm *so* close to getting it the way I want.

Best,

Bill
Well, the original code doesn't display the profilepic if there isn't one, right? Try it and see if it does the same thing for the icon. It can't hurt to try.
Reply With Quote
  #10  
Old 05-14-2004, 05:00 PM
Bill Thebert Bill Thebert is offline
 
Join Date: Mar 2002
Posts: 38
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Boofo
Well, the original code doesn't display the profilepic if there isn't one, right? Try it and see if it does the same thing for the icon. It can't hurt to try.
As predicted, that last variation places the icon in EVERY row of the Member List table.

I think what I need to do here is to find a way of expressing:

"IF the 'customprofilepic' table contains a record where userid = the id of THIS user, then display the icon. Otherwise do nothing."

But I have no idea how to go about this.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 07:00 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04781 seconds
  • Memory Usage 2,282KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (8)bbcode_html
  • (3)bbcode_php
  • (5)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete