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 |
#72
|
||||
|
||||
Hrm, I've not run into that problem yet. Is your postbit content centered, or is this the only thing doing it?
|
#73
|
|||
|
|||
Quote:
I have the same issue..I'm having a lot of trouble getting this to work. Can u post the solution please. My Postbit template: Code:
{vb:raw template_hook.postbit_start} <li class="postbitlegacy postbitim postcontainer" id="post_{vb:raw post.postid}"> <!-- see bottom of postbit.css for .userinfo .popupmenu styles --> <div class="posthead"> <vb:if condition="$show['inlinemod']"><label for="post_imod_checkbox_{vb:raw post.postid}"></vb:if> <span class="postdate {vb:raw post.statusicon}"> <vb:if condition="$show['announcement']"> <span class="date">{vb:rawphrase x_until_y, {vb:raw post.startdate}, {vb:raw post.enddate}}</span> <vb:else /> <span class="date">{vb:raw post.postdate}<vb:if condition="!$show['detailedtime']"> <span class="time">{vb:raw post.posttime}</span></vb:if></span> </vb:if> </span> <span class="nodecontrols"> <vb:if condition="$post['postid'] AND $post['threadid'] AND !$show['moderated']"> <a name="post{vb:raw post.postid}" href="{vb:link thread, {vb:raw thread}, {vb:raw pageinfo_post}}#post{vb:raw post.postid}" class="<vb:if condition="$show['inlinemod']">ie</vb:if>postcounter">#{vb:raw post.postcount}</a><a id="postcount{vb:raw post.postid}" name="{vb:raw post.postcount}"></a> </vb:if> <vb:if condition="$show['moderated']">{vb:rawphrase moderated_post}</vb:if> <vb:if condition="$show['inlinemod']"> <input class="postimod" type="checkbox" id="post_imod_checkbox_{vb:raw post.postid}" name="plist[{vb:raw post.postid}]" value="{vb:raw post.checkbox_value}" /> </vb:if> </span> <vb:if condition="$show['inlinemod']"></label></vb:if> </div> <div class="postdetails"> <div class="userinfo"> <div class="username_container"> <vb:if condition="$show['avatar']"> <div class="dvb_avatarbox"> <a 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> </div> </vb:if> <vb:if condition="$post['userid']"> {vb:raw memberaction_dropdown} <span class="usertitle"> {vb:raw post.usertitle} </span> <div>{vb:raw post.onlinestatus}</div> <vb:else /> <span class="username guest">{vb:raw post.musername}</span> <span class="usertitle"> {vb:raw post.usertitle} </span> </vb:if> </div> <vb:if condition="$post['rank']"> <span class="rank">{vb:raw post.rank}</span> </vb:if> {vb:raw template_hook.postbit_userinfo_left} <vb:if condition="$show['reputation']"> <span class="postbit_reputation" id="repdisplay_{vb:raw post.postid}_{vb:raw post.userid}">{vb:raw post.reputationdisplay}</span> </vb:if> <vb:if condition="$post['userid']"> <hr /> <dl class="userinfo_extra"> <!-- Disabling these for a minimal postbit --> <!-- <vb:if condition="$post['joindate']"><dt>{vb:rawphrase join_date}</dt> <dd>{vb:raw post.joindate}</dd></vb:if> <vb:if condition="$post['field2']"><dt>{vb:rawphrase location_perm}</dt> <dd>{vb:raw post.field2}</dd></vb:if> <vb:if condition="$post['age']"><dt>{vb:rawphrase age}</dt> <dd>{vb:raw post.age}</dd></vb:if> --> <dt>{vb:rawphrase 'posts'}</dt> <dd>{vb:raw post.posts}</dd> {vb:raw template_hook.postbit_userinfo_right_after_posts} </dl> <vb:if condition="$show['infraction'] OR $show['reppower']"> <dl class="user_rep"> <vb:if condition="$show['infraction']"> <dt>{vb:rawphrase infractions}</dt> <dd>{vb:raw post.warnings}/{vb:raw post.infractions} ({vb:raw post.ipoints})</dd> </vb:if> <vb:if condition="$show['reputation']"> <vb:if condition="$show['reppower']"> <dt>{vb:rawphrase reppower}</dt> <dd id="reppower_{vb:raw post.postid}_{vb:raw post.userid}">{vb:raw post.reppower}</dd> </vb:if> </vb:if> </dl> </vb:if> {vb:raw template_hook.postbit_userinfo_right} <div class="imlinks"> {vb:raw post.icqicon} {vb:raw post.aimicon} {vb:raw post.msnicon} {vb:raw post.yahooicon} {vb:raw post.skypeicon} </div> </vb:if> </div> <div class="postbody"> <div class="postrow<vb:if condition="$show['postedited'] || $post['signature']"> has_after_content</vb:if>"> {vb:raw template_hook.postbit_messagearea_start} <vb:if condition="$post['title'] OR $show['messageicon']"> <h2 class="title icon"> <vb:if condition="$show['messageicon']"><img src="{vb:raw post.iconpath}" alt="{vb:raw post.icontitle}" /> </vb:if>{vb:raw post.title} </h2> </vb:if> <vb:if condition="$post['isfirstshown']"> {vb:raw ad_location.ad_showthread_firstpost_start} {vb:raw ad_location.thread_first_post_content} </vb:if> <vb:if condition="$post['islastshown']"> {vb:raw ad_location.thread_last_post_content} </vb:if> <div class="content<vb:if condition="$show['first_ad'] OR $show['last_ad']"> hasad</vb:if>"> <div id="post_message_{vb:raw post.postid}"> <blockquote class="postcontent restore "> {vb:raw post.message} </blockquote> </div> <vb:if condition="$show['attachments']"> <div class="attachments"> <vb:if condition="$show['thumbnailattachment']"> <fieldset class="postcontent"> <legend><img src="{vb:stylevar imgdir_misc}/paperclip.png" class="inlineimg" alt="{vb:rawphrase attached_thumbnails}" /> {vb:rawphrase attached_thumbnails}</legend> {vb:raw post.thumbnailattachments} </fieldset> </vb:if> <vb:if condition="$show['imageattachment']"> <fieldset class="postcontent"> <legend><img src="{vb:stylevar imgdir_misc}/paperclip.png" class="inlineimg" /> {vb:rawphrase attached_images}</legend> {vb:raw post.imageattachments} </fieldset> </vb:if> <vb:if condition="$show['imageattachmentlink']"> <fieldset class="postcontent"> <legend><img src="{vb:stylevar imgdir_misc}/paperclip.png" class="inlineimg" /> {vb:rawphrase attached_images}</legend> <ul> {vb:raw post.imageattachmentlinks} </ul> </fieldset> </vb:if> <vb:if condition="$show['otherattachment']"> <fieldset class="postcontent"> <legend><img src="{vb:stylevar imgdir_misc}/paperclip.png" class="inlineimg" /> {vb:rawphrase attached_files}</legend> <ul> {vb:raw post.otherattachments} </ul> </fieldset> </vb:if> <vb:if condition="$show['moderatedattachment']"> <fieldset class="postcontent"> <legend><img src="{vb:stylevar imgdir_misc}/paperclip.png" class="inlineimg" /> {vb:rawphrase attachments_pending_approval}</legend> <ul> {vb:raw post.moderatedattachments} </ul> </fieldset> </vb:if> </div> <!-- / attachments --> </vb:if> </div> </div> <vb:if condition="$show['postedited'] || $post['signature']"> <div class="after_content"> <vb:if condition="$show['postedited']"> <!-- edit note --> <blockquote class="postcontent lastedited"> <!-- <img src="{vb:stylevar imgdir_button}/edit_40b.png" class="inlineimg" alt="" /> --> <vb:if condition="$show['postedithistory']"> {vb:rawphrase last_edited_link_by_x_on_y_at_z_postid, {vb:raw post.edit_username}, {vb:raw post.edit_date}, {vb:raw post.edit_time}, {vb:raw post.historyurl}} <vb:else /> {vb:rawphrase last_edited_by_x_on_y_at_z, {vb:raw post.edit_username}, {vb:raw post.edit_date}, {vb:raw post.edit_time}} </vb:if> <vb:if condition="$post['edit_reason']"> <span class="reason">{vb:rawphrase reason}:</span> {vb:raw post.edit_reason} </vb:if> </blockquote> <!-- / edit note --> </vb:if> {vb:raw template_hook.postbit_signature_start} {vb:raw ad_location.ad_showthread_firstpost_sig} <vb:if condition="$post['signature']"> <blockquote class="signature restore"><div class="signaturecontainer">{vb:raw post.signature}</div></blockquote> </vb:if> {vb:raw template_hook.postbit_signature_end} </div> </vb:if> <div class="cleardiv"></div> </div> </div> <div class="postfoot"> <!-- <div class="postfoot_container"> --> <div class="textcontrols floatcontainer"> <span class="postcontrols"> <img style="display:none" id="progress_{vb:raw post.postid}" src="{vb:stylevar imgdir_misc}/progress.gif" alt="{vb:rawphrase loading_editor_please_wait}" /> <vb:if condition="$post['editlink']"> <a class="editpost" href="{vb:raw post.editlink}" name="vB::QuickEdit::{vb:raw post.postid}"><img src="{vb:raw vboptions.cleargifurl}" id="editimg_{vb:raw post.postid}" alt="{vb:rawphrase edit_delete_message}" /> {vb:rawphrase edit_post}</a> <span class="seperator"> </span> </vb:if> <vb:if condition="$show['quickreply'] AND !$show['threadedmode']"> <a id="qr_{vb:raw post.postid}" class='quickreply' href="{vb:raw post.replylink}" rel="nofollow"><img id="replyimg_{vb:raw post.postid}" src="{vb:raw vboptions.cleargifurl}" alt="{vb:rawphrase quick_reply_to_this_message}" /> {vb:rawphrase reply}</a> <span class="seperator"> </span> </vb:if> <vb:if condition="$post['replylink']"> <a id="qrwq_{vb:raw post.postid}" class="newreply" href="{vb:raw post.replylink}" rel="nofollow"><img id="quoteimg_{vb:raw post.postid}" src="{vb:raw vboptions.cleargifurl}" alt="{vb:rawphrase reply_with_quote}" /> <vb:if condition="$post['forwardlink']">{vb:rawphrase reply_to_private_message}<vb:else />{vb:rawphrase reply_with_quote}</vb:if></a> <vb:if condition="$show['multiquote_post']"><span class="seperator"> </span></vb:if> </vb:if> <vb:if condition="$show['multiquote_post']"> <a class="multiquote" href="{vb:raw post.replylink}" rel="nofollow" onclick="return false;" id="mq_{vb:raw post.postid}"><img id="mq_image_{vb:raw post.postid}" src="{vb:raw vboptions.cleargifurl}" alt="{vb:rawphrase multi_quote_this_message}" /> </a> </vb:if> </span> <span class="postlinking"> <vb:if condition="!$post['forwardlink'] && THIS_SCRIPT != 'usernote' && THIS_SCRIPT != 'announcement'"> <vb:if condition="$promote_sectionid AND $promote_sectionid != -1"> <a href="{vb:raw promote_url}" class="promotecms">{vb:rawphrase promote_to_article}</a> <span class="seperator"> </span> </vb:if> </vb:if> {vb:raw template_hook.postbit_controls} {vb:raw post.iplogged} <vb:if condition="$post['forwardlink']"> <a class="forwardpost" href="{vb:raw post.forwardlink}" rel="nofollow"><img src="{vb:raw vboptions.cleargifurl}" alt="{vb:rawphrase forward_message}" /> {vb:rawphrase forward}</a> <vb:if condition="$show['reputationlink'] OR $show['infractionlink'] OR $show['moderated'] OR $show['spam'] OR $show['deletedpost'] OR $show['redcard'] OR $show['yellowcard']"><span class="seperator"> </span></vb:if> </vb:if> <vb:if condition="$show['reputationlink']"> <span class="reputationpopupmenu popupmenu popupcustom" title="{vb:raw post.postid}"><a class="popupctrl reputation" title="{vb:rawphrase reputation}" href="reputation.php?{vb:raw session.sessionurl}do=addreputation&p={vb:raw post.postid}" rel="nofollow" id="reputation_{vb:raw post.postid}"><!--<img src="{vb:stylevar imgdir_button}/reputation-40b.png" alt="{vb:rawphrase reputation}" /> --> </a></span> </vb:if> <vb:if condition="$show['infractionlink']"> <a class="infraction" href="infraction.php?{vb:raw session.sessionurl}do=report&p={vb:raw post.postid}" rel="nofollow" title="{vb:rawphrase add_infraction_for_x, {vb:raw post.username}}"><!-- <img src="{vb:stylevar imgdir_button}/add-infraction_sm.png" alt="{vb:rawphrase add_infraction_for_x, {vb:raw post.username}}" /> --> </a> </vb:if> <vb:if condition="$show['reportlink']"> <a class="report" href="{vb:raw post.reportlink}" rel="nofollow" title="{vb:rawphrase report_bad_post}"><!-- <img src="{vb:stylevar imgdir_button}/report-40b.png" alt="{vb:rawphrase report_bad_post}" /> --> </a> </vb:if> <vb:if condition="$show['moderated']"> <img class="moderated" src="{vb:stylevar imgdir_misc}/moderated_sm.png" alt="{vb:rawphrase moderated_post}" /> </vb:if> <vb:if condition="$show['spam']"> <img class="spam" src="{vb:stylevar imgdir_misc}/spam_detected.png" alt="{vb:rawphrase spam_post}" /> </vb:if> <vb:if condition="$show['deletedpost']"> <vb:if condition="$show['managepost']"> <a class="deleted" href="postings.php?{vb:raw session.sessionurl}do=managepost&p={vb:raw post.postid}" title="{vb:rawphrase manage}"><!-- <img src="{vb:stylevar imgdir_misc}/deleted_sm.png" alt="{vb:rawphrase manage}" /> --> </a> <vb:else /> <img class="deleted_nolink" class="inlineimage" src="{vb:stylevar imgdir_misc}/deleted_sm.png" alt="{vb:rawphrase deleted_post}" /> </vb:if> </vb:if> <vb:if condition="$show['redcard']"> <a class="redcard" href="infraction.php?{vb:raw session.sessionurl}do=view&p={vb:raw post.postid}" rel="nofollow" title="{vb:rawphrase received_infraction}"><!-- <img src="{vb:stylevar imgdir_button}/red-card_sm.png" alt="{vb:rawphrase received_infraction}" /> --> </a> <vb:elseif condition="$show['yellowcard']" /> <a class="yellowcard" href="infraction.php?{vb:raw session.sessionurl}do=view&p={vb:raw post.postid}" rel="nofollow" title="{vb:rawphrase received_warning}"><!--<img src="{vb:stylevar imgdir_button}/yellow-card_sm.png" alt="{vb:rawphrase received_warning}" /> --> </a> </vb:if> </span> <!-- </div> --> </div> </div> <hr /> </li> {vb:raw template_hook.postbit_end} Thanks in advance |
#74
|
|||
|
|||
good work
thank you |
#75
|
||||
|
||||
*** edit - removed paid request but left the answer regarding paid requests ***
Three ways to go about this.... 1. Ask the author as he may want the extra $$ 2. Post in the Unpaid request area - https://vborg.vbsupport.ru/forumdisplay.php?f=112 3. Post in the Paid request area - https://vborg.vbsupport.ru/forumdisplay.php?f=30 I'll report this post (so it's moved properly to paid request for now since you mentioned $20 etc) and you can see what replies come in then choose accordingly . |
#76
|
|||
|
|||
awesome modification, sadly i wont have any use for it on my boards, but i just wanted to give some props where props are due.
|
#77
|
|||
|
|||
Hi,
My forum doesn't display those little boxes. I need to put them in the Main CSS, but I'm using VB 4 and cant save anything there... Would appreciate any help Thanks alot for this great mod. |
#78
|
|||
|
|||
hey man, this looks awesome!
Been trying to get it to work for a few hours but for some reason i just get a long list of tabs. No tabs to see different information, just a long list of everything! I am using vbulletin v 4.1.1, Is this why it is not working, or have i done somthing stupid? Here is a link to my forum: http://www.chiforceacademy.com/forum...ts-a-Big-World Thanks man, This code is sweet! |
#79
|
|||
|
|||
Quote:
hey could you help how do i actually put in the code? so it shows |
#80
|
|||
|
|||
can't get the box type using royalflush completevb style.
|
#81
|
|||
|
|||
Can you please make this work for 4.1.3? None of the variables work anymore... I can't add anything from the first page...
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|