[ MOD ] Oplossing Voor Lange Berichten

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

[ MOD ] Oplossing Voor Lange Berichten

Bericht door ElbertF » 04 nov 2004, 16:01

Eenvoudig modje dat ervoor zorgt dat wanneer één post extreem lang is (door bijv. een afbeelding), dat alle andere posts binnen de huidige (!) breedte van het scherm blijven. Quote en edit knoppen blijven altijd in beeld.

Screenshot, rood omlijnd voor de duidelijkheid:

Afbeelding

Wellicht dat er al een dergelijk mod bestaat, maar hij was zó eenvoudig te maken...

Code: Selecteer alles

##############################################################
## MOD Title: Wrap Messages Mod
## MOD Author: etncrew < spambots@hotmail.com > (Oker) http://www.etncrew.com/forum
## MOD Description: Long images or strings will stretch the board, this mod wraps all the
## other messages to the current window width. It also prevents the quote and edit buttons to
## move out of sight. This mod will even work with wide signatures.
## Screenshot: http://img110.exs.cx/img110/310/Untitled-3.gif
## MOD Version: 1.0.5
##
## Installation Level: Easy
## Installation Time: 3 Minutes
## Files To Edit: viewtopic_body.tpl
## Included Files: n/a
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/
##############################################################
## Author Notes: Thanks to Mosymuis (http://www.phpBB.nl) for ideas.
##
##############################################################
## MOD History:
##
##   2004-10-20 - Version 1.0.5
##      - Bugfix
##
##   2004-10-20 - Version 1.0.4
##      - Added multiple browser support
##
##   2004-10-20 - Version 1.0.3
##      - Quote and edit boxes will never be out of sight
##      - Mod is now a little bit faster
##
##   2004-10-20 - Version 1.0.1
##      - Max width is automaticly set to the current window width with JavaScript.
##
##   2004-10-20 - Version 1.0.0
##      - Creation
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################


#
#-----[ OPEN ]------------------------------------------
#

templates/subSilver/viewtopic_body.tpl

#
#-----[ FIND ]------------------------------------------
#

<table class="forumline" width="100%" cellspacing="1" cellpadding="3" border="0">

#
#-----[ BEFORE, ADD ]------------------------------------------
#

<!-- Start Wrap Posts Mod
ADD -->
<script language="javascript" type="text/javascript">
	var getSize = document.body.offsetWidth - 205;
	
	function writeTable() {
		document.write('<table width="' + getSize + '" style="border:0px dotted #444444" cellpadding="0" cellspacing="0">');
	}
</script>
<!-- End Wrap Posts Mod -->


#
#-----[ FIND ]------------------------------------------
#

		<td class="{postrow.ROW_CLASS}" width="100%" height="28" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
			<tr>

#
#-----[ AFTER, ADD ]------------------------------------------
#

	<!-- Start Wrap Posts Mod
	ADD -->
				<td>
					<script language="javascript" type="text/javascript">writeTable();</script>
						<tr>
	<!-- End Wrap Posts Mod -->


#
#-----[ FIND ]------------------------------------------
#

				<td width="100%"><a href="{postrow.U_MINI_POST}"><img src="{postrow.MINI_POST_IMG}" width="12" height="9" alt="{postrow.L_MINI_POST_ALT}" title="{postrow.L_MINI_POST_ALT}" border="0" /></a><span class="postdetails">{L_POSTED}: {postrow.POST_DATE}<span class="gen">&nbsp;</span>&nbsp; &nbsp;{L_POST_SUBJECT}: {postrow.POST_SUBJECT}</span></td>
				<td valign="top" nowrap="nowrap">{postrow.QUOTE_IMG} {postrow.EDIT_IMG} {postrow.DELETE_IMG} {postrow.IP_IMG}</td>
			</tr>

#
#-----[ AFTER, ADD ]------------------------------------------
#

	<!-- Start Wrap Posts Mod
	ADD -->			
			</tr>
		</table>
	</td>
	<!-- End Wrap Posts Mod -->

#
#-----[ FIND ]------------------------------------------
#

			</tr>
			<tr>
				<td colspan="2"><span class="postbody">{postrow.MESSAGE}{postrow.SIGNATURE}</span><span class="gensmall">{postrow.EDITED_MESSAGE}</span></td>

#
#-----[ REPLACE WITH ]------------------------------------------
#

	<!-- Start Wrap Posts Mod
	REMOVE
			</tr>
			<tr>
				<td colspan="2"><span class="postbody">{postrow.MESSAGE}{postrow.SIGNATURE}</span><span class="gensmall">{postrow.EDITED_MESSAGE}</span></td>
	ADD -->
			</tr>
			<tr>
				<td colspan="2">
					<script language="javascript" type="text/javascript">writeTable();</script>
						<tr>
							<td><span class="postbody">{postrow.MESSAGE}{postrow.SIGNATURE}</span><span class="gensmall"><font style="color: #333333">{postrow.EDITED_MESSAGE}</font></span></td>
						</tr>
					</table>
				</td>
	<!-- End Wrap Posts Mod -->

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
Update: versie 1.0.1
Update: versie 1.0.3
Update: versie 1.0.4
Update: versie 1.0.5
Laatst gewijzigd door ElbertF op 14 nov 2004, 22:25, 9 keer totaal gewijzigd.

Gebruikersavatar
Rico
Berichten: 2185
Lid geworden op: 23 okt 2003, 18:45
Contacteer:

Bericht door Rico » 04 nov 2004, 16:02

mooi gedaan
zoiets was ik ook mee bezig
Guess who's back..

Gebruikersavatar
LazyTiger
Berichten: 2000
Lid geworden op: 21 okt 2003, 18:21

Bericht door LazyTiger » 04 nov 2004, 16:11

hij bestaat al ja:
http://www.phpbbhacks.com/download/2183

volgens mij is die wel uitgebreider.

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 04 nov 2004, 16:16

P.T. schreef:hij bestaat al ja:
http://www.phpbbhacks.com/download/2183

volgens mij is die wel uitgebreider.
Maar ik maak uit de beschijving op dat dit geen oplossing bied voor lange afbeeldingen..?

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 04 nov 2004, 17:16

Heb je ergens een demo forum lopen? Ik kan me niet voorstellen dat één extra tabel in staat is om woorden af te breken, laat staan plaatjes. De tabel zal gewoon meerekken waar dat nodig is. Woorden wrappen moet serverside gebeuren.

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 04 nov 2004, 17:18

Kijk m'n onderschrift voor een demo. En zoals je op de screenshot ziet (^), worden lange berichten ook niet afgebroken, maar het zorgt ervoor dat de rest van de berichten niet meerekken. Geen high tech code dus, maar een simpele oplossing voor iets waar ik me al een tijdje aan irriteer :)
Laatst gewijzigd door ElbertF op 04 nov 2004, 17:20, 1 keer totaal gewijzigd.

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 04 nov 2004, 17:20

Spambot schreef:En zoals je op de screenshot ziet (^), worden lange berichten ook niet afgebroken, maar het zorgt ervoor dat de rest van de berichten niet meerekken.
Ah kijk, dat gebeurt inderdaad wel. Al vind ik de titel dan wel ietwat misleidend.

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 04 nov 2004, 17:22

Hmm het is maar hoe je het ziet.. Maar als je een mooie compacte titel hebt pas ik 'm wel aan hoor :bier:

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 04 nov 2004, 17:23

Ik weet zo ook niets beters. Ik zie template hacks ook nooit echt als volwaardig.

*edit typo
Laatst gewijzigd door mosymuis op 04 nov 2004, 17:26, 1 keer totaal gewijzigd.

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 04 nov 2004, 17:25

Volwaardig :wink:

Ik ben trouwens wel van plan de max breedte automatisch aan de schermbreedte aan te passen.. Ik ben geen JavaScript expert, maar maybe binnenkort een kleine upgrade :)

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 04 nov 2004, 18:01

Update naar versie 1.0.1

Zie vorige post, de max breedte is nu automatisch de schermbreedte van de gebruiker 8)
Laatst gewijzigd door ElbertF op 04 nov 2004, 18:06, 1 keer totaal gewijzigd.

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 04 nov 2004, 18:04

Code: Selecteer alles

      <script language="JavaScript">
      <!--
         var winwidth = parseFloat(self.innerWidth - 200);
         document.write('<table width="');
         document.write(winwidth);
         document.write('" cellpadding="0" cellspacing="0">');
      //-->
      </script>
kan je ook schrijven als:

Code: Selecteer alles

<script>document.write('<table width="'+parseFloat(self.innerWidth - 200)+'" cellpadding="0" cellspacing="0">');</script>

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 04 nov 2004, 18:10

Haha ik weet het.. Niet dat het wat uitmaakt.. Wat vindt je zo van m'n modje? Ik vindt 'm erg praktisch 8)

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 04 nov 2004, 18:23

Misschien is het verstandiger om dat script op één plek in de pagina te plaatsen, om hem dan telkens kort aan te roepen in de postrow. Dat spaart de server en laadtijd, omdat het toch telkens enkele regels per post minder is. Vooral op druk bezochte forums en forums met veel posts per pagina kan dat verschil maken.

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 04 nov 2004, 18:26

Weet je zeker dat het dan sneller gaat? Als je 'm aanroept moeten die regels toch alsnog gelezen worden? :roll: Of bedoel je dat ik de variabele één keer aanmaak en meerdere keren gebruik? Kan dat eigenlijk wel..?

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 04 nov 2004, 18:28

Het aantal bytes per pagina gaat dan snel omlaag, omdat je het script buiten de postrow opstelt en dan slechts kort aanroept binnen de postrow. Binnen de postrow wordt alles immers stom herhaald, wat zonde en onnodig is.

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 04 nov 2004, 18:30

Maar als ik binnen de postrow een functie aanroep, dan wordt deze toch ook bij elk bericht weer doorlopen? Of klopt dat niet..

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 04 nov 2004, 18:36

Ja. Het gaat om de pagina grootte, probeer beiden eens uit, vraag telkens de HTML source op in je browser en vergelijk het aantal regels van de pagina.

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 04 nov 2004, 18:41

Ik ga het toepassen.. Ik ga het ook zo maken dat de quote en edit knoppen nooit buiten beeld vallen, ook niet bij grote berichten..

ElbertF
Berichten: 5803
Lid geworden op: 12 okt 2004, 08:34
Contacteer:

Bericht door ElbertF » 04 nov 2004, 19:45

Update: versie 1.0.3

Alle voorgaande dingetjes toegepast. Hij zou nu sneller moeten werken en de quote en edit knoppen verdwijnen nooit buiten beeld 8)

Gesloten