The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
||||
|
||||
[IF] just wanting someone to check my code
just wanted to make sure i did the right (shortest way possible) it functions 100% as is, just curious if there's a "less code" way of going about it =)
The way this is set up is for production purposes, so say the user who installs happens to not have a gender field, it will fallback to use the no.png or if say that user field was added to an existing form required or not, any user who hasn't added the gender it will fallback. if the users a male with no avatar, it shows a male default. same goes for female, also undefined. if the member has an avatar, it ignores the gender field. if the browser is not a user, it shows a signup button depending on whether or not registration is available. Code being used now: HTML Code:
<if condition="$show['member']"> <a href="$vboptions[bburl]/profile.php?do=editavatar"> <if condition="$navbaravatarurl"> <img class="sbav" src="$navbaravatarurl" /> <else /> <if condition="$bbuserinfo['field5'] == 'Male'"> <img class="sbav" src="images/misc/nom.png" /> </if> <if condition="$bbuserinfo['field5'] == 'Female'"> <img class="sbav" src="images/misc/nof.png" /> </if> <if condition="!in_array($bbuserinfo['field5'], array('Male', 'Female'))"> <img class="sbav" src="images/misc/no.png" /> </if> </if> </a> <else /> <if condition="$show['registerbutton']"> <a class="large but blue" href="register.php">SIGN UP NOW!</a> <else /> Sorry, registration is currently disabled while we work on things. Please check back soon! In the mean time feel free to explore. =) </if> </if> HTML Code:
<if condition="$show['member']"> <a href="$vboptions[bburl]/profile.php?do=editavatar"><img class="sbav" src=" <if condition="$navbaravatarurl"> $navbaravatarurl <else /> <if condition="$bbuserinfo['field5'] == 'Male'"> images/misc/nom.png </if> <if condition="$bbuserinfo['field5'] == 'Female'"> images/misc/nof.png </if> <if condition="!in_array($bbuserinfo['field5'], array('Male', 'Female'))"> images/misc/no.png </if> </if> " /></a> <else /> <if condition="$show['registerbutton']"> <a class="large but blue" href="register.php">SIGN UP NOW!</a> <else /> Sorry, registration is currently disabled while we work on things. Please check back soon! In the mean time feel free to explore. =) </if> </if> Code:
<if condition="!in_array($bbuserinfo['field5'], array('Male', 'Female'))"> Code:
<if condition="$bbuserinfo['field5'] != 'Female' AND $bbuserinfo['field5'] != 'Male'"> |
#2
|
|||
|
|||
I would say that what you had was fine. I don't know why your simplification didn't work. Could it be that you can't have whitespace (newlines and spaces) inside quotes? Maybe if you included the quotes in each condition instead of once around all of it, it would work.
As for in_array() vs the AND, with two options I'd say it doesn't matter which way you do it. But these are just my opinions, I don't know that I'd call myself an authority on style. If you wanted to simplify the template code you could use a plugin to set the avatar image, then register a variable to the template. But I suppose one could argue that that actually makes things more complicated. |
Благодарность от: | ||
Dr.CustUmz |
#3
|
||||
|
||||
thanks ill give it a shot with the "'s inside the conditionals, and note when i did simplify it i did have no whitespace / linebreaks, i just prettified it so it was easier for you guys to read here lol. and i do have a plugin calling the avatar image that's where $navbaravatarurl comes into play, and once i get this simplified i plan on giving the other images a variable also, i just dont want to have to set the same class for every variable, for the sake of code simplification =)
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|