Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x Template Modifications
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
DJ's Dynamic Tab Content for Postbit_Legacy Details »»
DJ's Dynamic Tab Content for Postbit_Legacy
Version: 1.5.0, by Digital Jedi Digital Jedi is offline
Developer Last Online: Sep 2023 Show Printable Version Email this Page

Category: Miscellaneous Hacks - Version: 4.0.x Rating:
Released: 03-08-2010 Last Update: Never Installs: 71
Supported Template Edits
Re-useable Code Additional Files  

**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>
Step 4.
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:
            <vb:if condition="$show['avatar']">
            <
class="postuseravatar" href="{vb:link member, {vb:raw post}}" title="{vb:rawphrase {vb:raw post['onlinestatusphrase']}, {vb:raw post.username}}">
                <
img src="{vb:raw post.avatarurl}" alt="{vb:rawphrase xs_avatar, {vb:raw post.username}}" title="{vb:rawphrase xs_avatar, {vb:raw post.username}}" />
            </
a>
            </
vb:if> 
Below that add this basic set of code. This block of code will be your physical tab content.

PHP Code:
<!-- BEGIN POSTBIT TABS --> 
<
div id="postbittabs{vb:raw post.postid}" class="djdot"
  
<
ul
<
li><span title="View Tab 1"><a href="#" rel="tab1{vb:raw post.postid}" id="selected{vb:raw post.postid}">&nbsp;</a></span></li
<
li><span title="View Tab 2"><a href="#" rel="tab2{vb:raw post.postid}">&nbsp;</a></span></li
<
li><span title="View Tab 3"><a href="#" rel="tab3{vb:raw post.postid}">&nbsp;</a></span></li
<
li><span title="View Tab 4"><a href="#" rel="tab4{vb:raw post.postid}">&nbsp;</a></span></li
<
li><span title="View Tab 5"><a href="#" rel="tab5{vb:raw post.postid}">&nbsp;</a></span></li
</
ul
  
<
br style="clear: left" /> 
  
</
div
  
<
div class="smallfont"
  
<!--
TAB 1 CONTENT --> 
<
div id="tab1{vb:raw post.postid}" class="tabcontent"
  
<
div class="info">Tab 1 Content:Block A</div
<
div class="info">Tab 1 Content:Block B</div
<
div class="info">Tab 1 Content:Block C</div
  
</
div
  
<!-- 
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
  
<!-- 
TAB 3 CONTENT --> 
<
div id="tab3{vb:raw post.postid}" class="tabcontent"
  
<
div class="info">Tab 3 Content:Block A</div
<
div class="info">Tab 3 Content:Block B</div
<
div class="info">Tab 3 Content:Block C</div
<
div class="info">Tab 3 Content:Block D</div
<
div class="info">Tab 3 Content:Block E</div
<
div class="info">Tab 3 Content:Block F</div
  
</
div
  
<!-- 
TAB 4 CONTENT --> 
<
div id="tab4{vb:raw post.postid}" class="tabcontent"
  
<
div class="info">Tab 4 Content:Block A</div
<
div class="info">Tab 4 Content:Block B</div
<
div class="info">Tab 4 Content:Block C</div
  
</
div
  
<!-- 
TAB 5 CONTENT --> 
<
div id="tab5{vb:raw post.postid}" class="tabcontent"
  
<
div class="info">Tab 5 Content:Block A</div
<
div class="info">Tab 5 Content:Block B</div
<
div class="info">Tab 5 Content:Block C</div
<
div class="info">Tab 5 Content:Block D</div
<
div class="info">Tab 5 Content:Block E</div
<
div class="info">Tab 5 Content:Block F</div
<
div class="info">Tab 5 Content:Block G</div
<
div class="info">Tab 5 Content:Block H</div
<
div class="info">Tab 5 Content:Block I</div
  
</
div
  
</
div
  
  
<
script type="text/javascript"
var 
mytabs=new ddtabcontent("postbittabs{vb:raw post.postid}"
mytabs.setpersist(false
mytabs.setselectedClassTarget("link"
mytabs.init() 
</
script
  
<!-- 
END POSTBIT TABS --> 
Now go to your forum and see if your tabs are displaying properly and your not getting any errors. You should have five dot tabs that display five different sets of information when clicked.

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

File Type: png Postbit Tabs Screenie.png (9.1 KB, 0 views)
File Type: gif Postbit-Tabs-Screenie.gif (48.7 KB, 0 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
Благодарность от:
scottkoz20

Comments
  #32  
Old 06-13-2010, 09:32 PM
Webbstre Webbstre is offline
 
Join Date: Nov 2009
Posts: 175
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for hanging around. I didn't mean to come off rude (if I did), but I am too used to developers for Drupal and Wordpress disappearing in the middle of a good add-on and never being seen again. I'll turn the add-on back on for my site and then PM you with the access info so you can see it in action. That will be later today, as I need to warn my test users first. My site isn't quite live yet, so it's still hidden.

Edit: and I hope your daughter is ok! That's a good reason for not being around, no excuses necessary.
Reply With Quote
  #33  
Old 06-13-2010, 09:42 PM
Digital Jedi's Avatar
Digital Jedi Digital Jedi is offline
 
Join Date: Oct 2006
Location: PopCulturalReferenceLand
Posts: 5,171
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Webbstre View Post
Thanks for hanging around. I didn't mean to come off rude (if I did), but I am too used to developers for Drupal and Wordpress disappearing in the middle of a good add-on and never being seen again. I'll turn the add-on back on for my site and then PM you with the access info so you can see it in action. That will be later today, as I need to warn my test users first. My site isn't quite live yet, so it's still hidden.

Edit: and I hope your daughter is ok! That's a good reason for not being around, no excuses necessary.
No, I just thought I'd explain why I wasn't around and that It's not odd for that to happen from time to time. I always check back on my mods. It's just not as often as I'd like.

If I don't get back to you tonight (as I'll be out tonight) I'll try to get to your site within the next couple of days.
Reply With Quote
  #34  
Old 06-14-2010, 03:01 AM
merk_aus merk_aus is offline
 
Join Date: Feb 2008
Location: Australia
Posts: 582
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I did the template edits and nothing at all showed up.
Reply With Quote
  #35  
Old 06-14-2010, 03:26 AM
Digital Jedi's Avatar
Digital Jedi Digital Jedi is offline
 
Join Date: Oct 2006
Location: PopCulturalReferenceLand
Posts: 5,171
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by merk_aus View Post
I did the template edits and nothing at all showed up.
And you're certain you edit the right skin?
Reply With Quote
  #36  
Old 06-14-2010, 03:52 AM
merk_aus merk_aus is offline
 
Join Date: Feb 2008
Location: Australia
Posts: 582
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I only have one skin and so yes I am certain I am editing the right skin
Reply With Quote
  #37  
Old 06-14-2010, 06:13 AM
Webbstre Webbstre is offline
 
Join Date: Nov 2009
Posts: 175
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I figured it out! The copyright symbol in this line of code:

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>
That character breaks the entire script. I figured it out on accident, because when trying to load that code addition it would cut off one character before it. I don't know if vB can't load it or if it is a language thing or what, but I've removed the little c with a circle on my own site now.
Reply With Quote
  #38  
Old 06-14-2010, 10:29 PM
Digital Jedi's Avatar
Digital Jedi Digital Jedi is offline
 
Join Date: Oct 2006
Location: PopCulturalReferenceLand
Posts: 5,171
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by merk_aus View Post
I only have one skin and so yes I am certain I am editing the right skin
Even if the JavaScript and CSS files had been in the wrong location, you still should have something show up in the postbit. Are you sure you edited the right template? Are you using posbit_legacy or postbit on your forum?

Quote:
Originally Posted by Webbstre View Post
I figured it out! The copyright symbol in this line of code:

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>
That character breaks the entire script. I figured it out on accident, because when trying to load that code addition it would cut off one character before it. I don't know if vB can't load it or if it is a language thing or what, but I've removed the little c with a circle on my own site now.
That's an odd one. It really shouldn't have any affect on the code, being commented out and all.
Reply With Quote
  #39  
Old 06-15-2010, 12:13 AM
Webbstre Webbstre is offline
 
Join Date: Nov 2009
Posts: 175
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yeah, I don't know why it happened, especially since I installed it without this problem on an earlier version. Perhaps a language setting? Either way, the error I got was about an unexpected ascii thing, and I'm used to language problems, so I went looking for a rogue character and found that instead.

I'm happy now that I can finally implement this product. I'm using a lot of space-consuming mods, so this is vital if I want to keep my forum looking sleek.
Reply With Quote
  #40  
Old 06-16-2010, 06:35 AM
Digital Jedi's Avatar
Digital Jedi Digital Jedi is offline
 
Join Date: Oct 2006
Location: PopCulturalReferenceLand
Posts: 5,171
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I notice vB.org converts ASCII code in posts. If I type
PHP Code:
&#169; 
it converts it to ?. Can't even preview more than once without it converting the one in the PHP tags. I wonder what would be converting it back.
Reply With Quote
  #41  
Old 06-16-2010, 08:48 PM
EquinoxWorld EquinoxWorld is offline
 
Join Date: Nov 2009
Location: Naples
Posts: 354
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Digital Jedi View Post
Which is why I provided the alternate download. I have, on occasion, still been able to download the JS file directly.



Could you link me an example? I haven't had a chance to see this used on a board with a side installed yet. My demo board doesn't include the suite.



Thanks, Gary.



Was this only with the Singnature Slider or did you have trouble with the Dynamic Postbit as well? I know I have not had any trouble with my postbit mod, but I did run into issues whenever the init was set. That particular part of the JavaScript just didn't jibe well with vBulletin.



I don't see anything wrong with your Legacy code, offhand. I would need to take a look at your site with the edits in place to see what the trouble is.
It was only with the signature slider. I never actually tried the postbit yet. Everything is working perfect in IE and FF just in google Chrome the buttons don't show that's all. Also would you by any chance know how I could have the page not to move up or down when the signature slides change. For example one member has a one of the sig larger than the others then whenever that sig is displayed the page moves by it's self. Is there any way to correct this without having the page jump around? It is really annoying specially when your trying to write a post or reply. Would appreciate any help I can get. Thanks again for the awesomeness.
Reply With Quote
Reply


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 10:27 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.08854 seconds
  • Memory Usage 2,421KB
  • Queries Executed 26 (?)
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
  • (3)bbcode_code
  • (3)bbcode_php
  • (5)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (11)post_thanks_box
  • (1)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (2)postbit_attachment
  • (11)postbit_onlinestatus
  • (11)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_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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete