vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Conditional in memberlist_resultsbit (https://vborg.vbsupport.ru/showthread.php?t=64982)

Bill Thebert 05-11-2004 01:24 AM

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:

http://www.binderbulletin.net/images...ofile_pics.jpg

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

Bill Thebert 05-14-2004 12:23 PM

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

Boofo 05-14-2004 02:42 PM

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>


Bill Thebert 05-14-2004 02:48 PM

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?

Boofo 05-14-2004 02:56 PM

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>


Bill Thebert 05-14-2004 03:10 PM

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:::

Boofo 05-14-2004 03:13 PM

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>

Bill Thebert 05-14-2004 04:03 PM

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

Boofo 05-14-2004 04:05 PM

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. ;)

Bill Thebert 05-14-2004 05:00 PM

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.


All times are GMT. The time now is 07:01 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01554 seconds
  • Memory Usage 1,767KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (8)bbcode_html_printable
  • (3)bbcode_php_printable
  • (5)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete