Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 06-03-2009, 10:00 PM
Jalo Jalo is offline
 
Join Date: Apr 2009
Posts: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Strip characters javascript

Hi all,

I use 3.8.2 and use this code to display latest threads on my portal:

Code:
<if condition="$vbulletin->options['externaljs']">
<script type="text/javascript" src="external.php?forumids=19&type=js"></script> 
<script language="" type="text/javascript">
<!--
for (x = 0; x < 7; x++)
{
document.writeln("<li><a href=\"showthread.php?t="+threads[x].threadid+"\">"+threads[x].title+"</a></li>");
}
//-->
</script>

<script type="text/javascript" src="external.php?forumids=30&type=js"></script> 
<script language="" type="text/javascript">
<!--
for (x = 0; x < 7; x++)
{
document.writeln("<li><a href=\"showthread.php?t="+threads[x].threadid+"\">"+threads[x].title+"</a></li>");
}
//-->
</script>
      </if>
But when a thread title is too long it takes up two lines breaking my layout. So I would like to set a max characters for the title to show and end with ...

How can this be done?

Jan
Reply With Quote
  #2  
Old 06-03-2009, 11:43 PM
Dylanblitz Dylanblitz is offline
 
Join Date: Oct 2005
Location: OC, California
Posts: 732
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Not the best at javascript and I haven't tested it but I would try something like this. Might not get you there but it will give you an idea of what's needed. Just modify the length from 30 to whatever you want and if you want something other then ... at the end of a cropped string change that.

Code:
<if condition="$vbulletin->options['externaljs']">
<script type="text/javascript" src="external.php?forumids=19&type=js"></script> 
<script language="" type="text/javascript">
<!--
max_title_len = 30; 
string_term = "...";

for (x = 0; x < 7; x++)
{
	if (threads[x].title.length > max_title_len)
	{
	thread_title = threads[x].title.substring(0, max_title_len) + string_term;
	} else {
	thread_title = threads[x].title;
	}

document.writeln("<li><a href=\"showthread.php?t="+threads[x].threadid+"\">"+thread_title+"</a></li>");
}
//-->
</script>

<script type="text/javascript" src="external.php?forumids=30&type=js"></script> 
<script language="" type="text/javascript">
<!--
max_title_len = 30; 
string_term = "...";

for (x = 0; x < 7; x++)
{
	if (threads[x].title.length > max_title_len)
	{
	thread_title = threads[x].title.substring(0, max_title_len) + string_term;
	} else {
	thread_title = threads[x].title;
	}

document.writeln("<li><a href=\"showthread.php?t="+threads[x].threadid+"\">"+thread_title+"</a></li>");
}
//-->
</script>
      </if>
Reply With Quote
  #3  
Old 06-04-2009, 12:02 AM
Jalo Jalo is offline
 
Join Date: Apr 2009
Posts: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Awesome Dylanblitz! Thank you very much man!!

Works!

Jan
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 09:27 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03227 seconds
  • Memory Usage 2,177KB
  • Queries Executed 13 (?)
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
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)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
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete