MyBB.de Forum

Normale Version: Bildgröße ändern bei externen Bildverweisen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
@all

mal eine Frage,

ich habe einen Beitrag in meinem Forum veröffentlicht, in dem ein Link zu einer externe Grafik eingebettet ist.

Diese Grafik ist mir ein kleinbißchen zu groß.

Welche Möglichkeit gibt es, diese Grafik in meinem Forumbeitrag zu verkleinern?

Peter
Hallo,
es gibt einen weg.
Gehe zu erst ins ACP suche dort nach Zeige Thema Templates (Ausklappen) --> showthread (Ausklappen) ersetze den body tage mir folgendem.
Code:
<body onload="; fiImageResize()">
und speichere es.
Danach gehst du zu ACP --> headerinclude (Ausklappen)
dort fügst du folgenden Code ein.
Code:
<script type="text/javascript" src="resizeall.js"></script>
Als nächstes lädst du deine /inc/functions_post.php herunter und bearbeitest sie mit einem Editor wie folgt in Zeile 98:
PHP-Code:
$message preg_replace("#\[img\]([a-z]+?://){1}(.+?)\[/img\]#i""<img id=\"resize\" src=\"$1$2\" border=\"0\" alt=\"\" />"$message); 
und Zeile 99
PHP-Code:
$message preg_replace("#\[img=([0-9]{1,3})x([0-9]{1,3})\]([a-z]+?://){1}(.+?)\[/img\]#i""<img id=\"resize\" src=\"$3$4\" border=\"0\" width=\"$1\" height=\"$2\" alt=\"\" />"$message);
    } 
Füge wie hier schon gemacht folgendes hinzu: id=\"resize\"

Danach must du noch dieses JavaScript in dein Forum Hauptverzeichsnis Laden.resizeall.js

Wenn du eine andere grösse als 560px haben möchtest öffne das JavaScript und ändere Folgendes var imgWidthMax = 560
Hallo,

ich häng mich mal mit hier dran. Ich habe einen Weg gefunden, um nur Bilder in einer bestimmten Größe zu verkleinern und diese mittels Klick auf das Bild in einem externen Fenster anzuschauen.

1. Template headerinclude öffnen

Dort folgendes reinschreiben:
Code:
<script type="text/javascript">
function largerThan(a,b)
{
return a>b;
}
</script>

2. Datei /inc/functions_post.php öffnen:

Suche:
Code:
$message = preg_replace("#\[img\]([a-z]+?://){1}(.+?)\[/img\]#i", "<img src=\"$1$2\" border=\"0\" alt=\"\" />", $message);

Ersetze durch:
Code:
$message = preg_replace("#\[img\]([a-z]+?://){1}(.+?)\[/img\]#i", "<img src=\"$1$2\" border=\"0\" alt=\"\" onload=\"if(largerThan(this.width,800)) {this.width=800;this.alt='Klicken, um gr&ouml;ßere Version zu sehen';}\" onmouseover=\"if(this.alt) this.style.cursor='pointer';\" onclick=\"if(this.alt) window.open('$1$2');\" border=\"0\" />", $message);
Die beiden Zahlen sind die Größe, die das Bild nicht überschreiten darf (1) und auf die es skaliert werden soll (2).

Das wars schon. Ich hoffe, dass es einigen nützt.

Grüße
Micha
Ich hänge mich mit einer Frage an, obwohl das Thema schon älter ist. Ich habe das javascript eingebaut, ebenfalls vor längerer Zeit. Es funktioniert einwandfrei. Bis auf einen kleinen Schönheitsfehler: Bei großen Bildern wird für einen Augenblick die Seite verbreitert angezeigt (in der Breite des übergroßen Fotos) und schnappt dann förmlich zurück, auf die eingestellte Seitenbreite. Meine Moderatoren sind davon genervt und finden es unschön.

Es besteht deshalb der Wunsch, grundsätzlich zu unterbinden, dass User übergroße Fotos verlinken können. Nach dem Eingeben der url soll ein Warnhinweis erscheinen und der Link nicht angenommen werden. Mir scheint das unmöglich, wo soll ich da ansetzen?
Es gibt ein Plugin was das genau kann weis ich aber nicht. Also einfach mal probieren.
http://mods.mybboard.com/view.php?did=306
Hab's ausprobiert. Funktioniert gut. Macht das javascript überflüssig und lässt sich gut anpassen.
Jetzt hat sich doch ein Problem herausgestellt mit dem Plugin Image resizer
http://mods.mybboard.com/view.php?did=306

Wenn es aktiv ist, erscheint die Message nicht mehr, dass neue PNs vorhanden sind. Das Nachrichtenfenster öffnet sich nicht.

Das beißt sich irgendwie.

Schade. Oder kann man da was tun?
Hallo Sikoda,

hast du dich schon an den Autor des Plugins (Cipher) gewandt?
Ich denke, dass das der schnellste und unkomplizierteste Weg ist.

Gruß
Boardie05
Ich muss mich da wohl etwas korrigieren: Der Autor des PlugIns scheint irgendwie nicht mehr richtig "greifbar" zu sein. Ich habe mir das Plugin nun einmal angesehen und es auch mal ausprobiert. Der beschriebene Fehler, dass bei aktiviertem Plugin "image resizer" keine Popup-Nachricht bei einer neuen PN erscheint tritt dann auch bei mir auf. Außerdem wird die Übersicht dann auch nicht mehr dargestellt (nur noch wenn man AJAX deaktiviert).

Nun habe ich mir den Quelltext mal angesehen. Leider kenne ich mich mit der Einbindung von JavaScript nicht wirklich ausSad

Standardmäßig wird vom MyBB ja am Ende des Templates headerinclude JavaScript eingefügt (offenbar Variablen, die Text für bestimmte Meldungen, u.a. auch für die PN-Popup-Meldung enthalten).

Das PlugIn fügt nun direkt nach dem headerinclude und vor dem header neuen JavaScript ein. Dieser JavaScript enthält zwei Funktionen, einmal resize_images() und einmal openImage). Die Funktion openImage) wird "nur" intern von der Funktion resize_images() benutzt, die Funktion resize_images() ist also quasi die "Hauptfunktion" des PlugIns und wird im (öffnenden) Body-Tag mit <body onload="resize_images()"> geladen.

Danach folgt dann "ganz normal" das Template header und weitere Veränderungen im ausgebenden Quelltext habe ich nicht ausmachen können.

Da ich mich, wie oben schon erwähnt, mit JavaScript nicht auskenne, kommt vielleicht jemand mit mehr Ahnung auf diesem Gebiet dem Problem eher auf die Schliche. Ich könnte mir vorstellen, dass vielleicht die Stelle, an der das PlugIn eingebunden wird Probleme macht - oder die Art des Aufrufes der Funktion im Body-Tag. Scheinbar wird irgend etwas überschrieben... Dieser letzte Absatz geht dann aber eher in Richtung "wilde Spekulation"Rolleyes

Gruß
Boardie05

P.S.: Ist natürlich jetzt das falsche Forum, aber das Problem wurde nun einmal hier angesprochen... Zur Not kann man das Thema bestimmt teilen oder ganz verschieben.
Das Problem liegt hier (auch beim Plugin "Übersicht"):
Code:
<body onload="resize_images()">
Wenn eine neue PN gemeldet wird, wird der Body-Tag ersetzt:
Code:
<body onload="Javascript:MyBB.newPM()">
Das erklärt dann auch warum die Übersicht nicht angezeigt wird. Bisher ist mir noch kein einfacher Weg zur Lösung eingefallen bzw. habe ich mich damit auch noch nicht wirklich beschäftigt.
Seiten: 1 2