Recent Topics

1 Jan 31, 2005 23:21    

Ich habe f?r meine Bed?rfnisse das Blockzitieren mit Hilfe der Quicktags-Toolbar etwas ver?ndert. Vielleicht hat ja noch jemand daran Interesse.

Ausl?ser war zum einen eine Seite, die ich im Moment nicht mehr finde. Dort war ein Javaskript, dass automatisch den Ursprung des Zitats innerhalb des Zitats am rechten Rand positionierte. Aber Javaskript wollte ich nicht. (Warum auch immer)

Ausserdem habe ich die Sache mit der "Externer-Link-Klasse" vom [url=http://www.themenmixer.de/index.php?p=40&more=1&c=1&tb=1&pb=1#more40]Themenmixer[/url] mit eingebaut.

Das Ergebnis:
Wenn ich etwas zitiere, schreibe ich als letztes den Ursprung mit hin. Dann markiere ich den gesamten Text und klicke auf <Block>. Soweit noch nicht neues.

Dann markiere ich noch einmal den Ursprung und klicke auf "Zitiert von", gebe in dem PopUp-Fenster die Url an und habe als Ergebnis folgendes:

<blockquote>blablablabla <p class="right">von <a class="ext" href="http://irgendwo.com">Ursprung</a></p></blockquote>

Wie der ge?bte Leser hier bereits vermutet:
Die Klasse "right" ist lediglich rechtsb?ndig, die Klasse "ext" ist die Sache vom Themenmixer. Beides wird halt nach Belieben im Stylesheet angepasst.

Wer also auch sowas haben m?chte: folgende ?nderungen m?ssen in der _quicktags_toolbar.php gemacht werden (Ordner /plugins/toolbars/ ):

1. Sinnvollerweise hinter dem Button b2evo_block kommt ein neuer Button

b2evoButtons[b2evoButtons.length] = new b2evoButton('b2evo_block'
																							,'block'
																							,'<blockquote>','</blockquote>'
																							,'b'
																							,'<?php echo T_('BLOCKQUOTE [Alt-B]') ?>'
																							);

b2evoButtons[b2evoButtons.length] = new b2evoButton('b2evo_link_p'
																							,'Zitiert von'
																							,'','</a></p>'
																							,'a'
																							,'<?php echo T_('Zitiert von') ?>'
																							); // special case
																						
b2evoButtons[b2evoButtons.length] = new b2evoButton('b2evo_img'

2. Hinter dem else if (button.id == 'b2evo_link') kommt noch eine Abfrage

else if (button.id == 'b2evo_link')
			{
				document.write('<input type="button" id="' + button.id + '" accesskey="' + button.access + '" title="' + button.tit + '" class="quicktags" onclick="b2evoInsertLink(b2evoCanvas, ' + i + ');" value="' + button.display + '" />');
			}
			else if (button.id == 'b2evo_link_p')
			{
				document.write('<input type="button" id="' + button.id + '" accesskey="' + button.access + '" title="' + button.tit + '" class="quicktags" onclick="b2evoInsertLinkP(b2evoCanvas, ' + i + ' );" value="' + button.display + '" />');
			}

3. Und schlussendlich noch die eigentliche neue Funktion einf?gen

function b2evoInsertLinkP(myField, i, defaultValue) {
	if (!defaultValue) {
		defaultValue = 'http://';
	}
	if (!b2evoCheckOpenTags(i)) {
		var URL = prompt('<?php echo T_('URL') ?>:' ,defaultValue);
		if (URL) {
			b2evoButtons[i].tagStart = '<p class="right">von <a class="ext" href="' + URL + '">';					
			b2evoInsertTag(myField, i);
		}
	}
	else {
		b2evoInsertTag(myField, i);
	}
}

Ich vermute, dass sich durch Einbau einer zus?tzlichen Variablen in der Ursprungsfunktion und Abfrage mittels If einiges verk?rzen l?sst, immerhin ist die neue Funktion ja fast identisch mit der Urspr?nglichen. Aber da ich beim besten Willen nicht so fit im Programmieren bin und ich an der Stelle eigentlich auf Geschwindigkeit verzichten kann (keine Bange, es wird nicht wesentlich langsamer!), habe ich halt lediglich daf?r gesorgt, das mir einiges an Tipparbeit erspart bleibt.

Freue mich also ?ber Verbesserungsvorschl?ge.


Form is loading...