Bildbreite in BB-Code einfügen
Hallo Leute ich habe mein Problem nun gelöst bekommen. Für alle die sich diese Funktion eventuell auch einbauen wollen, hier die Code-Schnipsel:
sucht in der admin/lib/lib_parse.php
und ersetzt es mit
dann sucht nach
und ersetzt es durch
dann suchen nach
und ersetzen mit
nun in der datei admin/lib/mycode.js
suchen nach
und fügt darunter ein
jetzt sucht nach
und fügt darunter ein
jetzt sucht im ordner templates die datei format_text.htm
und ändert
mit
Wenn Ihr bereits Buttons für IMGR und IMGL habt, dann könnt ihr diese noch mit
erweitern.
Um die Erweiterung auch im Adminbereich nutzen zu können müsst Ihr noch im Template
admin/templates/content/compose_step3_bbcode.htm die beiden Änderungen vornehmen wie in der format_text.htm (siehe oben dran)
Ich hab das getestet bei mir mit 1.6.03. Aber bitte vor den Änderungen Backups der jeweiligen Dateien machen. Einfügen des Codes auf eigene Gefahr.
sucht in der admin/lib/lib_parse.php
|
|
PHP-Quelltext |
1 2 3 4 |
var $imagetags=array(
array('tag'=>'img','html'=>'<img border="0" alt="" src="{image}" />'),
array('tag'=>'imgr','html'=>'<img border="0" alt="" src="{image}" align="right" />'),
array('tag'=>'imgl','html'=>'<img border="0" alt="" src="{image}" align="left" />'));
|
und ersetzt es mit
|
|
PHP-Quelltext |
1 2 3 4 |
var $imagetags=array(
array('tag'=>'img','html'=>'<img border="0" alt="" src="{image}" width="{option}" />'),
array('tag'=>'imgr','html'=>'<img border="0" alt="" src="{image}" width="{option}" style="float:right; margin-left:20px; margin-bottom:5px" />'),
array('tag'=>'imgl','html'=>'<img border="0" alt="" src="{image}" width="{option}" style="float:left; margin-right:20px; margin-bottom:5px" />'));
|
dann sucht nach
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 |
function parseimages ($text='') {
$tags=$this->imagetags;
foreach ($tags as $code) {
$text=preg_replace("#\[".$code['tag']."]([^\"\?\&]*\.(gif|jpg|jpeg|bmp|png))\[\/".$code['tag']."\]#eiU","\$this->image('$code[html]','\\1')",$text);
}
return $text;
}
|
und ersetzt es durch
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 |
function parseimages ($text='') {
$tags=$this->imagetags;
foreach ($tags as $code) {
$text=preg_replace("#\[".$code['tag']."=(.*)\]([^\"\?\&]*\.(gif|jpg|jpeg|bmp|png))\[\/".$code['tag']."\]#eiU","\$this->image('$code[html]','\\2','\\1')",$text);
$text=preg_replace("#\[".$code['tag']."\]([^\"\?\&]*\.(gif|jpg|jpeg|bmp|png))\[\/".$code['tag']."\]#eiU","\$this->image('$code[html]','\\1')",$text);
}
return $text;
}
|
dann suchen nach
|
|
PHP-Quelltext |
1 2 3 |
function image($html='', $url='') {
return str_replace("{image}",$url,$html);
}
|
und ersetzen mit
|
|
PHP-Quelltext |
1 2 3 4 |
function image($html='', $url='', $width='') {
$rewritedimage = str_replace("\\\"","\"",str_replace("{option}",trim($width),str_replace("{image}",trim($url),$html)));
return $rewritedimage;
}
|
nun in der datei admin/lib/mycode.js
suchen nach
|
|
Quellcode |
1 |
searchfailed = "Die Suche lieferte kein Ergebnis."; |
und fügt darunter ein
|
|
Quellcode |
1 2 |
bildquelle = "Bitte geben Sie den relativen Pfad zur Bildquelle an."; bildbreite = "Geben Sie die Bildbreite in Pixel an. Maximal 500px"; |
jetzt sucht nach
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
function mycode(myform,mycode,fensterausgabe) {
setfocus(myform);
if (mymode(myform)) {
if (textmarkiert) var direkttext=textmarkiert;
else var direkttext=fensterausgabe;
RegExp.multiline=true;
direkttext = direkttext.replace(/\n/g, "\\n");
inserttext = prompt(standard+"\n["+mycode+"]Ihr Text[/"+mycode+"]",direkttext);
inserttext = inserttext.replace(/\\n/g, "\n");
if ((inserttext != null) && (inserttext != "")) {
auswahltext = "["+mycode+"]"+inserttext+"[/"+mycode+"]";
mytextadd(auswahltext,myform);
}
}
else {
untersagt = false;
for (i = 0; i < bbtags.length; i++) {
if (bbtags[i] == mycode) untersagt = true;
}
if (!untersagt) {
myform.content.value += "["+mycode+"]";
arraypush(bbtags,mycode);
}
}
setfocus(myform);
}
|
und fügt darunter ein
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
//*****Fenstereingabe Image-Width by WebWuschel******
function myimg(myform,mycode,fensterausgabe) {
setfocus(myform);
if ((mycode=="IMG") || (mycode=="IMGR") || (mycode=="IMGL")) {
var direkttext=fensterausgabe;
inserttext = prompt(bildquelle+"\n["+mycode+"]Bildpfad[/"+mycode+"]",direkttext);
insertwidth= prompt(bildbreite+" z.B:300\nFür Original Bildgröße Eingabe leer lassen","");
if ((inserttext != null) && (inserttext != '')) {
if ((insertwidth != null) && (insertwidth != '') && (insertwidth <= '500')) {
auswahltext = "["+mycode+"="+insertwidth+"]"+inserttext+"[/"+mycode+"]";
mytextadd(auswahltext,myform);
}
else{
auswahltext = "["+mycode+"]"+inserttext+"[/"+mycode+"]";
mytextadd(auswahltext,myform);
}
}
}
else {
untersagt = false;
for (i = 0; i < bbtags.length; i++) {
if (bbtags[i] == mycode) untersagt = true;
}
if (!untersagt) {
myform.content.value += "["+mycode+"]";
arraypush(bbtags,mycode);
}
}
setfocus(myform);
}
//*****END Fenstereingabe Image-Width by WebWuschel******
|
jetzt sucht im ordner templates die datei format_text.htm
und ändert
|
|
Quellcode |
1 |
<td><a href="javascript:;" onclick="mycode(document.myform,'IMG','http://');" onFocus="blur();"><img src="images/bbcode/img.gif" width="20" height="20" alt="Grafik einfuegen" border="0" /></a></td> |
mit
|
|
Quellcode |
1 |
<td><a href="javascript:;" onclick="myimg(document.myform,'IMG','http://');" onFocus="blur();"><img src="images/bbcode/img.gif" width="20" height="20" alt="Grafik einfuegen" border="0" /></a></td> |
Wenn Ihr bereits Buttons für IMGR und IMGL habt, dann könnt ihr diese noch mit
|
|
Quellcode |
1 2 |
<td><a href="javascript:;" onclick="myimg(document.myform,'IMGL','http://');" onFocus="blur();"><img src="images/bbcode/imgl.gif" width="20" height="20" alt="Grafik linksbündig einfuegen" border="0" /></a></td> <td><a href="javascript:;" onclick="myimg(document.myform,'IMGR','http://');" onFocus="blur();"><img src="images/bbcode/imgr.gif" width="20" height="20" alt="Grafik rechtsbündig einfuegen" border="0" /></a></td> |
erweitern.
Um die Erweiterung auch im Adminbereich nutzen zu können müsst Ihr noch im Template
admin/templates/content/compose_step3_bbcode.htm die beiden Änderungen vornehmen wie in der format_text.htm (siehe oben dran)
Ich hab das getestet bei mir mit 1.6.03. Aber bitte vor den Änderungen Backups der jeweiligen Dateien machen. Einfügen des Codes auf eigene Gefahr.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »WebWuschel« (17. Juli 2008, 15:23)
So, jetzt habe ich doch noch ein Problem entdeckt.
Wenn die Breitenangabe nicht gemacht wird, dann wird das Bild unter IE7 nicht angezeigt. Im FF funktioniert alles wie es soll.
Hast du das auch schon bemerkt?
Wenn die Breitenangabe nicht gemacht wird, dann wird das Bild unter IE7 nicht angezeigt. Im FF funktioniert alles wie es soll.
Hast du das auch schon bemerkt?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Flachzange« (13. August 2008, 09:55)
die option wird direkt gesetzt durch diesen code:
dieser wird automatisch gesetzt unabhängig ob die breite angegeben wurde
sollte ggf. so abändern, dass man allein dieses {option} stehen lässt ohne width=""
und beim ersetzen dieses code sollte halt das width="" erst gesetzt werden..
bsp so:
und der obere ode also so:
|
|
PHP-Quelltext |
1 2 3 4 |
var $imagetags=array(
array('tag'=>'img','html'=>'<img border="0" alt="" src="{image}" width="{option}" />'),
array('tag'=>'imgr','html'=>'<img border="0" alt="" src="{image}" width="{option}" style="float:right; margin-left:20px; margin-bottom:5px" />'),
array('tag'=>'imgl','html'=>'<img border="0" alt="" src="{image}" width="{option}" style="float:left; margin-right:20px; margin-bottom:5px" />'));
|
dieser wird automatisch gesetzt unabhängig ob die breite angegeben wurde
sollte ggf. so abändern, dass man allein dieses {option} stehen lässt ohne width=""
und beim ersetzen dieses code sollte halt das width="" erst gesetzt werden..
bsp so:
|
|
PHP-Quelltext |
1 2 3 4 |
function image($html='', $url='', $width='') {
$rewritedimage = str_replace("\\\"","\"",str_replace("{option}",'width="'.trim($width).'"',str_replace("{image}",trim($url),$html)));
return $rewritedimage;
}
|
und der obere ode also so:
|
|
PHP-Quelltext |
1 2 3 4 |
var $imagetags=array(
array('tag'=>'img','html'=>'<img border="0" alt="" src="{image}" {option} />'),
array('tag'=>'imgr','html'=>'<img border="0" alt="" src="{image}" {option} style="float:right; margin-left:20px; margin-bottom:5px" />'),
array('tag'=>'imgl','html'=>'<img border="0" alt="" src="{image}" {option} style="float:left; margin-right:20px; margin-bottom:5px" />'));
|
|
Achtung: Dirk Kántor ist unterwegs! Er verteilt gerne Verwarnungen ohne vorher darüber diskutiert zu haben. |
Danke Dooki,
leider bringt es noch nicht den gewünschten Erfolg. width erscheint dann trotzdem im Quelltext ohne Wert dahinter.
Wie wäre es, automatisch die auslesen und einfügen zu lassen, wenn keine Useringabe erfolgt?
Hmm, aber eigentlich wäre es auch nicht doof, wenn width nur erscheint, wenn eine Useringabe erfolgte.
Was macht da mehr Sinn?
leider bringt es noch nicht den gewünschten Erfolg. width erscheint dann trotzdem im Quelltext ohne Wert dahinter.
Wie wäre es, automatisch die auslesen und einfügen zu lassen, wenn keine Useringabe erfolgt?
Hmm, aber eigentlich wäre es auch nicht doof, wenn width nur erscheint, wenn eine Useringabe erfolgte.
Was macht da mehr Sinn?
ah sehe grad hab ne abfrage vergessen im code.. moment hab grad keine zeit 
EDIT: so.... zeit is da
die function muss so aussehen:

EDIT: so.... zeit is da

die function muss so aussehen:
|
|
PHP-Quelltext |
1 2 3 4 5 |
function image($html='', $url='', $width='') {
if(trim($width) != "") $rewritedimage = str_replace("\\\"","\"",str_replace("{option}",'width="'.trim($width).'"',str_replace("{image}",trim($url),$html)));
else $rewritedimage = str_replace("\\\"","\"",str_replace("{image}",trim($url),$html));
return $rewritedimage;
}
|
|
Achtung: Dirk Kántor ist unterwegs! Er verteilt gerne Verwarnungen ohne vorher darüber diskutiert zu haben. |
Ähnliche Themen
-
alte Versionen [1.6.03|1.6.1|1.6.4] »-
Neue BB-Code funktion richtig parsen??
(21. Mai 2008, 17:46)
-
Grafiken & Designs »-
Festes Bild in einer tabelle als Background
(1. Juni 2008, 01:02)
-
Web | Programmierung »-
Boxover
(28. Februar 2008, 12:16)
-
alte Versionen [1.6.03|1.6.1|1.6.4] »-
ein html code einfügen???
(19. Februar 2008, 16:22)
-
Web | Programmierung »-
Hintergrundbild auf 100% Fenstergröße bringen?
(10. Februar 2008, 15:50)


