The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
DJ's Dynamic Tab Content for Postbit_Legacy Details »» | ||||||||||||||||||||||||||
DJ's Dynamic Tab Content for Postbit_Legacy
Developer Last Online: Sep 2023
**vBulletin 3.x version can be found here: DJ's Dynamic Tab Content for Postbit_Legacy**
Ever felt your postbit_legacy template was just too long? Or maybe you'd like to add more content to your postbit_legacy, but you don't like the cluttered look or extended length of the post, especially when most posts are only a handful of sentences? Almost every decent modification here on vB.org has the option to add a link or a display to your postbit templates, and you've likely struggled, as I have, to come up with just the info you want to display, likely excluding things you thought would look real nice, but just couldn't justify the room for. Now I've seen several good modifications that address this problem, and all of them are pretty nice. I've seen everything from a drop-down menu that displays the content, to a box that can be opened and closed just underneath the avatar. All of them are practical in their own way, and here's one more way that I worked out using a script from Dynamic Drive's website called Tab Content Script. This cleaned up my postbit_legacy just the way I wanted, and let me add even more content then I would have originally intended. It also allowed me to organize content in whatever manner I wished. I love it and I think you will too. Screenshots Live Demo Live Demo is on a vBulletin 3.x forum, but the functionality is identical for vB4. Click any of the grey dots beneath the user's avatars. Difficulty: Intermediate A few things you should know before moving forward. The instructions for this mod are not your standard template modification instructions. It's going to presume that you've edited your postbit_legacy template before and that you're somewhat familiar with its content, with HTML and how to wrap <if condition=""> conditionals. So it's not going to be a "look for this line of code, add this under it" kind of traditional tutorial. What I'm going to do is show you the basic code, how to implement it and then let you do with it what you want. That is, after all, the reason I came up with mod in first place, and I know everyone wont have the same postbit content and/or will want to set theirs up differently. With that said, knowledge of how to modify your templates and basic HTML coding is something every vBulletin administrator should have. I'm not a coder. I'm a complete hack. But I know enough to take some of the wealth of code snippets available on the web and attempt to use them in new and inventive ways. Administrating a vB forum is that much more satisfying as a result. Installation To add this to your forum requires you to upload some files, make one edit to your headinclude template and one to your postbit_legacy template. If you don't know what postbit_legacy does, it's the template that controls the look of your posts when you've chosen to have avatars and user information appear to the left hand side of your posts. If you don't use that look for your forum, but instead use the one where avatars appear above your posts, then that means you use the postbit template, and this modification wasn't designed to look right on that template. (Though we have had a few users give it a try.) Step 1. First things first. After downloading the Dynamic Tab Content for Postbit_Legacy.zip file, extract the contents and upload the postbit_tabs folder in your forum's root directory (Your forum root is the folder you have physically installed vBulletin in, which means that for some folks, this isn't the same thing as your site root.) Step 2. Right click and download this JavaScript file from the Dynamic Drive website: tabcontent.js (You can also download it from this page.) Upload it to the postbit_tabs folder you just added to your website. Step 3. Now to edit your headinclude template. Go to Admin CP >>> Styles & Templates >>> Style Manager >>> <<>> >>> headinclude. Add the following block of code to the very bottom. Remember to keep the copyright intact for legal use. Code:
<link rel="stylesheet" type="text/css" href="{vb:raw vboptions.bburl}/postbit_tabs/tabcontent.css" /> <script type="text/javascript" src="{vb:raw vboptions.bburl}/postbit_tabs/tabcontent.js"> /*********************************************** * Tab Content script v2.2- ? Dynamic Drive DHTML code library (www.dynamicdrive.com) * This notice MUST stay intact for legal use * Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code ***********************************************/ </script> Now to access your postbit_legacy template, go to Admin CP >>> Styles & Templates >>> Style Manager >>> <<>> >>> Postbit Templates >>> postbit_legacy. From here, your going to add a basic set of code from which you can then customize it. You can pretty much add it anywhere in the template, but most likely your going to want to add it just below the avatar. If that's the case, your avatar code is most likely going to look something like this: PHP Code:
PHP Code:
Final Steps Now comes the hard part. Now you have to decide what you want to put in those places called Tab 1 Content:Block A, etc. This is where knowledge of your postbit_legacy template comes into play. Your now going to move whatever content you want in the respective tabs from their current location into the tabs. This is entirely up to you, but you can use my forum as a starting point. The following posts also have some tips to help you along the way. Post 2 has a Basic Breakdown of what the tabs do, a tutorial on how to add more tabs, default snippets of code that you can move into the tabs containers as well some snippets from common hacks. Post 3 has some links to other sites that have implemented this hack to give you an idea of what can be done with it. And it has some additional images to use in place of the default dots. Post 5 has Frequently Asked Questions for most problems you would encounter. Known Bugs There is one minor issue with the tabs that only occurs when using the AJAX quick reply and inline editing. Actually it's two issues, but I've only seen one or the other on my live site vs. my demo board. In one instance, the entire content of all your tabs displays all at once when posting/editing using AJAX. This is not a huge deal, as the only person who sees it do that is the person doing the posting/editing. And it will return to normal anytime he reloads or refreshes the page. The other instance is when after posting/editing through AJAX, no tab content appears, except the dot tabs. This is also not a huge deal as the same thing will happen here too; only the poster sees it and it will look normal anytime he returns or reloads the page. I think it's a minor trade off for the sleek look it gives your forum the rest of the time. Upgrade Instructions For those using the vBulletin 3.x version and who want to upgrade, follow the instructions I'll be including shortly in a subsequent post. Screenshots
Show Your Support
|
Благодарность от: | ||
scottkoz20 |
Comments |
#2
|
||||
|
||||
**This section may need a little tweaking. But it's fundamentally the same as before. I'll double check it after the sleep tabs wear off**
Basic Breakdown Here's a basic explanation as to how the code works. This should help you to create new tabs and what can be edited in the code to your preferences. The Tabs: Let's take a look back at the code you just added. In Step 4 you added a bunch of lines like this one. These are your tabs, the parts that people will actually click on to change the content view. In this example we're looking at the code for Tab 2. Code:
<li><span title="View Tab 2"><a href="#" rel="tab2{vb:raw post.postid}"> </a></span></li> The code in blue just a non-breaking space added in so people have something to click on. Users will see a background image, but what they'll actually be clicking is this non-breaking space. Change this space if you want to use text for your tabs instead of images. Otherwise just leave it be. (See FAQ) The Containers: Now lets take a look at your containers. These are the DIVs that will display your content when a new tab is clicked. Each one is marked <!-- TAB [#] CONTENT --> and correspond to each of the tabs mentioned in the block of code above. Code:
<!--TAB 2 CONTENT --> <div id="tab2{vb:raw post.postid}" class="tabcontent"> <div class="info">Tab 2 Content:Block A</div> <div class="info">Tab 2 Content:Block A</div> <div class="info">Tab 2 Content:Block A</div> <div class="info">Tab 2 Content:Block A</div> </div> Everything on the inside is replaceable code and can be customize to look however you want. Examples of code snippets you can move into each of these tabs can be found a little further down in this post. Creating New Tabs Let's take a look at the Step 4 code again. Here's the code for Tab 2 again, as well as it's corresponding container. Code:
<li><span title="View Tab 2"><a href="#" rel="tab2{vb:raw post.postid}"> </a></span></li> Code:
<!-- TAB 2 CONTENT --> <div id="tab2{vb:raw post.postid}" class="tabcontent"> <div class="info">Tab 2 Content:Block A</div> <div class="info">Tab 2 Content:Block B</div> <div class="info">Tab 2 Content:Block C</div> <div class="info">Tab 2 Content:Block D</div> </div> So when creating additional tabs, pick up where the numbers left off on the last tab and start again. I had you install 5 tabs, so if your using all 5 and want to add another, the rel for your new tab and id for your new container would both be tab6{vb:raw post.postid}. The next tab and container you add would be tab7{vb:raw post.postid}. Then the next tab8{vb:raw post.postid} and so on and so forth. You get the idea. More Options PHP Code:
This line of code sets the persistence of a clicked tab each time a user returns to that page during the same browser session. Set to true, and the last clicked tab will always display that tab on reload. Set to false, and it will show the tab with the ID selected each time. Note that each tab is unique, and having this set to true won't make much of a difference to your users view of the forum. The only tab that will ever persist is the one he/she clicked on, on a specific post in a specific thread, and only there. And only during the same browser session. PHP Code:
Code:
<vb:if condition="$variable[variable]"></if> Code:
<vb:if condition="$variable[variable]"><else /></if> Default Postbit Legacy Code Bits Here's a few of the things that come standard in vBulletin that you might want to move to the various DIV containers. Online Status: Code:
<div class="info">$post[onlinestatus] </div> Posts: Code:
<div class="info">$vbphrase[posts]: $post[posts]</div> Age: Code:
<vb:if condition="$post['age']"><div class="info">$vbphrase[age]: $post[age]</div></if> Join Date: Code:
<vb:if condition="$post['joindate']"><div class="info">$vbphrase[join_date]: $post[joindate]</div></if> Biography: Code:
<vb:if condition="$post[field1]"><div class="info"><b>Biography:</b> $post[field1]</div></if> Interests: Code:
<vb:if condition="$post[field3]"><div class="info"><b>Interests:</b> $post[field3]</div></if> Occupation: Code:
<vb:if condition="$post[field4]"><div class="info"><b>Occupation:</b> $post[field4]</div></if> Infractions: Code:
<vb:if condition="$show['infraction']"><div class="info">$vbphrase[infractions]: $post[warnings]/$post[infractions] ($post[ipoints])</div></if> Reputation: Code:
<vb:if condition="$show['infraction']"><div class="info">$vbphrase[infractions]: $post[warnings]/$post[infractions] ($post[ipoints])</div></if> <vb:if condition="$show['reputation']"><div class="info"><span id="repdisplay_{vb:raw post.postid}_{vb:raw post.userid}">$post[reputationdisplay]</span></div></if> <vb:if condition="$show['reppower']"><div class="info">$vbphrase[reppower]: <span id="reppower_{vb:raw post.postid}_{vb:raw post.userid}">$post[reppower]</span></div></if> Instant Messengers: Code:
<vb:if condition="$post[icqicon] or $post[aimicon] or $post[msnicon] or $post[yahooicon] or $post[skypeicon]"><div class="info">$post[icqicon] $post[aimicon] $post[msnicon] $post[yahooicon] $post[skypeicon]</div></if> Common Hack Postbit Legacy Code Bits Here's a few code bits that you'll find in some of the more common vBulletin modifications that you might have installed that you'd like to move to the DIV containers. vBCredits: Code:
<vb:if condition="$show['credits_post']"> <div class="info"> $vbphrase[credits]: <span id="cdt_{vb:raw post.postid}_{vb:raw post.userid}">$post[credits]</span> <vb:if condition="$show['credits_donate']">[<a href="credits.php?$session[sessionurl]do=manage&u={vb:raw post.userid}#donate">$vbphrase[donate]</a>]</if> <vb:if condition="$show['credits_check']">[<a href="credits.php?$session[sessionurl]do=banking&u={vb:raw post.userid}">$vbphrase[check]</a>]</if> </div> </if> Countries/Region Flags (Replace 8 and 9 with whatever fields your using): Code:
<!-- FLAGS START --> <vb:if condition="$post['field8'] OR $post['field9']"> <div class="info"> <vb:if condition="$post[field8]"> <img src="images/flags/$post[field8].gif" alt="$post[field8]" /></if> <vb:if condition="$post[field9]"> <img src="images/region/$post[field9].gif" alt="$post[field9]" /></if> </div> </if> <!-- / FLAG END --> ibProArcade (With some slight additions by me): Code:
<div class="info"> <vb:if condition="$crowns"> $post[crowns]$post[champtext] <else /> $post[username] has not championed any arcade games. </if> </div> Made Up Postbit Legacy Codes: And here's at least one I just went ahead and made up for my forum: Send User a PM/Email/Friend Request: Code:
<div class="info"> <vb:if condition="$show['pmlink'] OR $show['emaillink'] OR $post['userid'] AND $show['member']"> Send $post[username]:<br /></if> <vb:if condition="$show['pmlink']"> <a href="private.php?$session[sessionurl]do=newpm&u={vb:raw post.userid}" rel="nofollow"><phrase 1="$post[username]">a Private Message</phrase></a><br /> </if> <vb:if condition="$show['emaillink']"> <a href="sendmessage.php?$session[sessionurl]do=mailmember&u={vb:raw post.userid}" rel="nofollow">an Email</a><br /> </if> <vb:if condition="$post['userid'] AND $show['member']"> <a href="profile.php?$session[sessionurl]do=addlist&userlist=buddy&u={vb:raw post.userid}">a Friend Request</a> </if></div> If you have more examples that I can post, possible some I overlooked or mods I don't have installed, please feel free to post them and I'll add them to this post. |
#3
|
||||
|
||||
Additional Live Demos
Here's some additional examples of how people have utilized the script on their forums http://www.cogonline.net/forums/showthread.php?t=44718 http://www.glamrocktalk.com/showthre...?p=177#post177 http://jpicforum.info/lots-humor/why...road-6801.html https://vborg.vbsupport.ru/showpost....&postcount=300 http://www.phinzmania.com/forums/showthread.php?t=42794 http://www.stickskills.com/forum/showthread.php?t=3392 Additional Dot Images Here's a few additional Dot Images in different colors for your convience. Attachment 85834 Attachment 85835 Attachment 85836 Attachment 85837 Attachment 85838 Attachment 85839 Attachment 85840 Attachment 85841 Attachment 85842 Attachment 85843 |
#4
|
||||
|
||||
Upgrading from the vB3.x Version
This is actually very easy. If your still using the old version, and you want to just migrate your old code over to the new templates, just change these things in the Tab Content code you added to your two templates. In headinclude:Now edit your existing content code if necessary, since they also probably use new values. |
#5
|
||||
|
||||
FREQUENTLY ASKED QUESTIONS
|
#6
|
||||
|
||||
Tagged, Bit too complicated for me,lol
Will get a friend to try to install this for me later when more have seen if it works correctly on v4.0.2 cheers |
#7
|
||||
|
||||
Got it working myself and a great addition, if possible can you help with a little addition for me ?
I have : Code:
<vb:if condition="$post['field5']"><dt> XBL Gamer-Tag :</dt> <dd>{vb:raw post.field5}</dd></vb:if> <vb:if condition="$post['field9']"><dt>Clan Tag :</dt> <dd>{vb:raw post.field9}</dd></vb:if> <vb:if condition="$post['field10']"><dt>Clan URL :</dt> <dd>{vb:raw post.field10}</dd></vb:if> <vb:if condition="$post['field11']"><dt>Primary Game :</dt> <dd>{vb:raw post.field11}</dd></vb:if> <vb:if condition="$post['field12']"><dt>Clan Team :</dt> <dd>{vb:raw post.field12}</dd></vb:if> Also to have a space between each answer ? Also when it shows in the postbit_legacy, where my answer is for CLAN URL, Can this be made clickable so people can click the clan URL and be directed to that site in another page ? Cheers in advance |
#8
|
|||
|
|||
good one.. but i m too lazy do all the edits.. wanna make it a product
|
#9
|
||||
|
||||
Quote:
This just isn't something that is practical as a product. It would require template edits to the same templates, either way. Down the road, maybe I'll try something. But the way modifications are set to display in the postbit, there's no way to make this work around things that use the template hooks. |
#10
|
|||
|
|||
Sweet. Thanks. I was hoping this one would carry over.
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|