The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
[Postbit-Legacy Hack] Attractive User Info Boxes for Posts Details »» | |||||||||||||||||||||||||||||
[Postbit-Legacy Hack] Attractive User Info Boxes for Posts
Developer Last Online: Jan 2018
This mod will allow you to create attractive custom containers for your member's user info in postbit. For example, Join date, post count, location, thanks etc.
See screenshot in attachments for example. First, you need to add a class to your additional.css files. Go to styles and templates > edit templates > css templates > additional.css Add to the bottom: HTML Code:
.postbitboxes { color:white; display:inline-block; padding:3px; padding-left:7px; margin:2px; border:1px solid #000000; border-radius:5px; background-color:#2b2b2b; width:90%; box-shadow: 2px 2px 1px #888888; } Now you need to make some edits to your postbit_legacy template. Go to styles and templates > edit templates > postbit templates > postbit_legacy Find: HTML Code:
<dt>{vb:rawphrase join_date}</dt> <dd>{vb:raw post.joindate}</dd> HTML Code:
<div class="postbitboxes"> <dt>{vb:rawphrase join_date}</dt> <dd>{vb:raw post.joindate}</dd> </div> Find: HTML Code:
<dt>{vb:rawphrase location_perm}</dt> <dd>{vb:raw post.field2}</dd> HTML Code:
<div class="postbitboxes"> <dt>{vb:rawphrase location_perm}</dt> <dd>{vb:raw post.field2}</dd> </div> Find: HTML Code:
<dt>{vb:rawphrase age}</dt> <dd>{vb:raw post.age}</dd> HTML Code:
<div class="postbitboxes"> <dt>{vb:rawphrase age}</dt> <dd>{vb:raw post.age}</dd> </div> Find: HTML Code:
<dt>{vb:rawphrase posts}</dt> <dd>{vb:raw post.posts}</dd> HTML Code:
<div class="postbitboxes"> <dt>{vb:rawphrase posts}</dt> <dd>{vb:raw post.posts}</dd> </div> Essentially all that you've done here is wrapped the new div tag around each element of your user info displayed in the sidebar. So the above template edits can also be applied to templates for other mods which display info here such as Abe's Post Thank You Hack. NOTE: To also include place BLOG ENTRIES inside the same box, see post #3 https://vborg.vbsupport.ru/showpost....70&postcount=3 Enjoy! Check out my other Template Modifications for 4.x! Link Private Forums to thread instead of error message Sidebar Anywhere Enhancement - Custom Blocks Per Forum or Page Change Thread Title Color for Specific Forums on Homepage Change Background Color for Specific Forums on Homepage Change Title Color of Specific Forums on Homepage Thread Starter Image in Postbit for OP CUSTOM BUTTONS that look like your forum! Custom User Rank Box in Posts Screenshots
Show Your Support
|
Благодарность от: | ||
fleshy66 |
Comments |
#12
|
|||
|
|||
Quote:
Thank you |
#13
|
||||
|
||||
In vBulletin 4.2.1 - <vb:if> conditionals with this - how do we handle that syntax?
We have alot of custom fields in postbit, and they have IF conditionals, but if the field isn't filled in by the user the box still shows, but is empty. See screenies: When the user leaves the custom fields blank: When he does not: Here is the entire postbit_legacy code: PHP Code:
When i try to put the DIVs inside the IFs, it breaks the template. |
#14
|
|||
|
|||
There is a conditional for custom fields that you should wrap around each div element which contains a custom field.
Try Code:
<vb:if condition="$post['field5']"></vb:if> So for example IF the join date was a custom field, your code would look as follows: Code:
<vb:if condition="$post['field5']"> <div class="postbitboxes"> <dt>{vb:rawphrase join_date}</dt> <dd>{vb:raw post.joindate}</dd> </div> </vb:if> PS - Mark as installed! |
#15
|
||||
|
||||
Quote:
Wait. I am not clear on the bolded. What does this mean? |
#16
|
|||
|
|||
The code in your example shows that you didn't use the code exactly as provided.
You have the vb:if conditionals inside the div containers, it should be the other way around, you should have the div containers inside the if conditionals. That way the div only displays if the conditional is true. Check my example above again to see what I mean. Your divs need to be INSIDE your conditionals, not vice versa. For example where you have: Code:
<div class="postbitboxes"><vb:if condition="$post['field14']"><dt>Ideology</dt> <dd>{vb:raw post.field14}</dd></vb:if></div> Code:
<vb:if condition="$post['field14']"><div class="postbitboxes"><dt>Ideology</dt> <dd>{vb:raw post.field14}</dd></div></vb:if> |
#17
|
||||
|
||||
Yes, I know. That is what breaks the template. As I said in the first post about this. When I try to put the DIVs inside the IFs, it breaks the template.
|
#18
|
|||
|
|||
Quote:
Code:
{vb:raw template_hook.postbit_start} <li class="postbitlegacy postbitim postcontainer {vb:raw post.statusicon}" id="post_{vb:raw post.postid}"> <!-- see bottom of postbit.css for .userinfo .popupmenu styles --> <div class="posthead"> <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']"><a name="post{vb:raw post.postid}"></a>{vb:rawphrase moderated_post}</vb:if> <vb:if condition="$show['inlinemod']"> <label for="post_imod_checkbox_{vb:raw post.postid}"><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}" /></label> </vb:if> </span> </div> <div class="postdetails"> <div class="userinfo"> <div class="username_container"> <vb:if condition="$post['userid']"> {vb:raw memberaction_dropdown} {vb:raw post.onlinestatus} <vb:else /> <span class="username guest">{vb:raw post.musername}</span> </vb:if> </div> <span class="usertitle"> {vb:raw post.usertitle} </span> <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}" title="{vb:raw post.username} {vb:raw post.level}"> <vb:each from="reputationdisplay" value="row"> <img class="{vb:raw row.class}" src="{vb:stylevar imgdir_reputation}/reputation_{vb:raw row.posneg}{vb:raw row.imgext}" alt="" />{vb:raw row.rowend} </vb:each> </span> </vb:if> <vb:if condition="$show['avatar']"> <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> </vb:if> <vb:if condition="$post['userid']"> <hr /> <dl class="userinfo_extra"> <div class="postbitboxes"><dt>{vb:rawphrase join_date}</dt> <dd>{vb:raw post.joindate}</dd></div> <div class="postbitboxes"><dt>{vb:rawphrase location_perm}</dt> <dd>{vb:raw post.field2}</dd></div> <div class="postbitboxes"><vb:if condition="$post['age']"><dt>{vb:rawphrase age}</dt> <dd>{vb:raw post.age}</dd></vb:if></div> <div class="postbitboxes"><vb:if condition="$post['field16']"><dt>First Name</dt> <dd>{vb:raw post.field16}</dd></vb:if></div> <div class="postbitboxes"><dt>{vb:rawphrase posts}</dt> <dd>{vb:raw post.posts}</dd></div> {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']"> <div class="postbitboxes"><dt>{vb:rawphrase infractions}</dt> <dd>{vb:raw post.warnings}/{vb:raw post.infractions} ({vb:raw post.ipoints})</dd></div> </vb:if> <vb:if condition="$show['reputation']"> <vb:if condition="$show['reppower']"> <div class="postbitboxes"><dt>{vb:rawphrase reppower}</dt> <dd id="reppower_{vb:raw post.postid}_{vb:raw post.userid}">{vb:raw post.reppower}</dd></div></vb:if> </vb:if> </vb:if> <vb:if condition="$post['field12']"><div class="postbitboxes"><dt>Gender</dt> <dd style="color:<vb:if condition="$post['field12'] == 'Male'">blue<vb:else />hotpink</vb:if>" >{vb:raw post.field12}</dd></div></vb:if> <vb:if condition="$post['field17']"><div class="postbitboxes"><dt>My Mood</dt> <dd>{vb:raw post.field17}</dd></div></vb:if> <vb:if condition="$post['field14']"><div class="postbitboxes"><dt>Ideology</dt> <dd>{vb:raw post.field14}</dd></div></vb:if> {vb:raw thanks_postbit} </dl> {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" alt="{vb:rawphrase attached_images}" /> {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" alt="{vb:rawphrase attached_images}" /> {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" alt="{vb:rawphrase attached_files}" /> {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" alt="{vb:rawphrase attachments_pending_approval}" /> {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"> <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:if condition="$post['isfirstshown']"> {vb:raw ad_location.ad_showthread_firstpost_sig} </vb:if> <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}" title="{vb:rawphrase edit_delete_message}"><img src="{vb:raw vboptions.cleargifurl}" id="editimg_{vb:raw post.postid}" alt="{vb:rawphrase edit_delete_message}" /> {vb:rawphrase edit_post}</a> <vb:if condition="THIS_SCRIPT != 'usernote' && THIS_SCRIPT != 'announcement'"><span class="seperator"> </span></vb:if> </vb:if> <vb:if condition="$show['quickreply'] AND !$show['threadedmode']"> <a id="qr_{vb:raw post.postid}" class='quickreply' href="{vb:raw post.replylink}&noquote=1" rel="nofollow" title="{vb:rawphrase quick_reply_to_this_message}"><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" title="{vb:rawphrase reply_with_quote}"><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}" title="{vb:rawphrase multi_quote_this_message}"><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" href="reputation.php?{vb:raw session.sessionurl}do=addreputation&p={vb:raw post.postid}" title="{vb:rawphrase add_reputation}" rel="nofollow" id="reputation_{vb:raw post.postid}"><!--<img src="{vb:stylevar imgdir_button}/reputation-40b.png" alt="{vb:rawphrase add_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="{vb:raw $vboptions.vbforum_url}{vb:if "$vboptions['vbforum_url']", '/', ''}postings.php?{vb:raw session.sessionurl}do=managepost&p={vb:raw post.postid}" title="{vb:rawphrase manage}"> </a> <vb:else /> <img class="deleted_nolink" class="inlineimage" src="{vb:stylevar imgdir_button}/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> <vb:if condition="$post['api_platform']"> <vb:if condition="$post['api_platform_link']"> <a class="mobile mobile_{vb:raw post.api_platform}" href="{vb:raw post.api_platform_link}" rel="nofollow" title="{vb:rawphrase {vb:raw post['api_platform_link_title']}}">{vb:rawphrase {vb:raw post['api_platform_link_phrase']}}</a> <vb:else /> <span class="mobile mobile_{vb:raw post.api_platform}">{vb:rawphrase {vb:raw post['api_platform_link_phrase']}}</span> </vb:if> </vb:if> </span> <!-- </div> --> </div> </div> <hr /> </li> {vb:raw template_hook.postbit_end} |
#19
|
|||
|
|||
The code you provided me in your example was incorrect, my response was based on the code errors i saw in what you showed. So if your reply is "i know", then please provide the broken code so I can have another look.
One of your entries, you had half a div inside an if, and the other half of the div outside the if. Then you had other entries with the entire if is inside the div. You should go back through and try again. Unless the postbit legacy code you provided isn't the actual code that you're using, because what you provided a couple posts back definitely has errors.. The conditionals cannot break the template, all they do is show the div or not show the div, depending on if the user has entered any value. I recommend going through each entry for your custom fields and double check your code making sure it is done exactly as instructed. See post 12 on the previous page |
#20
|
||||
|
||||
Quote:
However, only marginally better than i had, as seen in my screengrab in post 12. Here's what we get now using your provided code: A couple of the boxes are still showing when nothing is entered in the custom fields. |
#21
|
||||
|
||||
Also, trying to support the rounded corners for safari, using the webkit definition, and having zero luck. Trying it this way:
HTML Code:
{ color:black; display:inline-block; padding:1px; padding-left:7px; margin:2px; border:1px solid #000000; border-radius:5px; webkit-border-radius:5px; background-color:#EEE; width:90%; box-shadow: 2px 2px 1px #888888; } |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|