Seite 1 von 1

Einfaches Bildmodul für den Editor gesucht

Verfasst: Fr 7. Nov 2008, 10:23
von Horst1234
Ich suche ein Modul, das im Editor ein Feld anzeigt, wo der Redakteur mit einem Klick ein Bild aus dem upload-Bereich auswählen kann - also nicht über den Umweg Texteditor. Gibt es sowas schon? In den Foren habe ich nur dutzende verschiedene "Bildmodule" mit hundert Features etc. pp. gefunden.

Kann mir jemand helfen?

Verfasst: Fr 7. Nov 2008, 12:57
von OliverL
So was?

Code: Alles auswählen


<?php
$setting['image']      = "CMS_IMG[99]";// hier ein Semikolon
$setting['desc']       = "CMS_IMGDESCR[99]";

if ( $setting['image'] != '' or $edit ) {
  list($myWidth, $myHeight, $myType, $myAttributes) = getimagesize(str_replace($cfgClient[$client]["path"]["htmlpath"], $cfgClient[$client]["path"]["frontend"],$setting['image'])); // hier $setting['image']

  if( $setting['image'] )
    echo '<img src="'.$setting['image'].'" border="0" width="'.$myWidth.'" height="'.$myHeight.'">';
  echo $setting['desc'];
}
unset( $setting );
?>


Verfasst: Fr 7. Nov 2008, 13:33
von Horst1234
Hallo Oliver,

danke für deine schnelle Antwort.
Ich benutze v.4.8.8., wenn ich dein Modul anlege
ins Template eingebunden, dies in einer Seite aufgerufe,
so erhalte ich beim Wechsel in den Editor folgende Meldung:

Parse error: syntax error, unexpected T_VARIABLE in /usr/www/users/willec/contenido/includes/include.con_editcontent.php(640) : eval()'d code on line 416

In der Vorschau folgt:


Parse error: syntax error, unexpected T_VARIABLE in /usr/www/users/willec/contenido/external/backendedit/front_content.php(942) : eval()'d code on line 288

Hast du eine Idee?

Verfasst: Fr 7. Nov 2008, 13:41
von Oldperl
da fehlt ein Semikolon

Code: Alles auswählen

<?php
$setting['image']      = "CMS_IMG[99]" ; // hier ein Semikolon
Gruß aus Franken

Ortwin

Verfasst: Fr 7. Nov 2008, 13:52
von Horst1234
Hallo Ortwin,

Danke erstmal.

Jetzt läuft das Modul, ich finde auch die Grafiken im Editor, aber nach dem Abspeichern wird kein Bild angezeigt.

Geb ich eine Beschreibung ein, so wird nur diese nach dem Abspeichern angezeigt.

Hast du eine Idee, warum?

Verfasst: Fr 7. Nov 2008, 14:05
von OliverL
Moin,

1. UPS, der Code ist eine reduzierung aus einem größerem Modul

2. Semi ist drin

3. $myImage muss $setting['image'] sein

Alle änderungen s. oben.


mfg OliverL

Verfasst: Fr 7. Nov 2008, 14:22
von Horst1234
Hallo Oliver,

jetzt wird mir im Editor folgendes angezeigt:

Warning: getimagesize() [function.getimagesize]: URL file-access is disabled in the server configuration in /usr/www/users/willec/contenido/includes/include.con_editcontent.php(640) : eval()'d code on line 391

Warning: getimagesize(http://willenbrock-bremen.de/cms/upload ... ranzen.JPG) [function.getimagesize]: failed to open stream: no suitable wrapper could be found in /usr/www/users/willec/contenido/includes/include.con_editcontent.php(640) : eval()'d code on line 391

ciao,
Horst

Verfasst: Fr 7. Nov 2008, 14:49
von BagHira
Schau mal hier: http://forum.contenido.org/viewtopic.ph ... highlight=

in deinem Fall wohl:

Code: Alles auswählen

list ($myWidth, $myHeight, $myType, $myAttributes) = getimagesize(str_replace($cfgClient[$client]["path"]["htmlpath"], $cfgClient[$client]["path"]["frontend"], $setting['image']));

Verfasst: Fr 7. Nov 2008, 15:34
von Horst1234
Hallo BagHira,

vielen Dank, das klappt wunderbar!


Wenn ich aber nun versuche, diesen Artikel über die Article List Advanced V4.6.x V1.4 aufzurufen und ich dort das Bild anwähle, erscheint ein ähnlicher Fehlercode:

Warning: getimagesize() [function.getimagesize]: URL file-access is disabled in the server configuration in /usr/www/users/willec/contenido/includes/include.con_editcontent.php(640) : eval()'d code on line 690

Warning: getimagesize(http://willenbrock-bremen.de/cms/upload ... ranzen.JPG) [function.getimagesize]: failed to open stream: no suitable wrapper could be found in /usr/www/users/willec/contenido/includes/include.con_editcontent.php(640) : eval()'d code on line 690

Nun gibts in dem Modul ein Zeile:

list ($width, $height, $type, $attr) = getimagesize($aData[$i]["i".$k]["WebPath"]);

Die habe ich auch durch deine codezeile zu ersetzen versucht, klappt aber leider nicht.

Du siehst, ich hab so gut wie keine Ahnung von PHP, könntest du mir nochmals auf die Sprünge helfen.

Ciao,
Horst

Verfasst: Fr 7. Nov 2008, 16:19
von BagHira
Horst1234 hat geschrieben:Nun gibts in dem Modul ein Zeile:

list ($width, $height, $type, $attr) = getimagesize($aData[$i]["i".$k]["WebPath"]);
Ich habe gerade bei mir nachgeschaut, dort gibt es diese Zeile in dem Sinn nicht sondern:

Code: Alles auswählen

list ($width, $height, $type, $attr) = getimagesize($aData[$i]["i".$k]["ServerPath"]);
Angesprochen wird hier also:

Code: Alles auswählen

$aData[$i]["i".$k]["ServerPath"]
und nicht wie bei dir:

Code: Alles auswählen

$aData[$i]["i".$k]["WebPath"]
Der entsprechende Bereich schaut dann so aus:

Code: Alles auswählen

$aData[$i]["i".$k]["ServerPath"] = $cfgClient[$client]["upl"]["path"].$db4->f('dirname').$db4->f('filename');
$aData[$i]["i".$k]["WebPath"]    = $cfgClient[$client]["upl"]["htmlpath"].$db4->f('dirname').$db4->f('filename');
list ($width, $height, $type, $attr) = getimagesize($aData[$i]["i".$k]["ServerPath"]);
eigentlich sollte das auch passen - was es auch tut :-)

Verfasst: Fr 7. Nov 2008, 16:35
von Horst1234
Hallo Holger,

vielen Dank, nun klappts perfekt.
Die ALA-Version hatte ich der Startseite dieses (nun schon extrem langen) Threats entnommen, war wohl noch fehlerhaft.

ciao,
Horst

Re: Einfaches Bildmodul für den Editor gesucht

Verfasst: So 3. Jan 2010, 12:24
von hassarabarber
Hallo Leute.

Ich benötige auch auf die schnelle ein einfaches Bildmodul (Aktuelle Version 4.8.12).

ModulCode:

Code: Alles auswählen

<?php
$setting['image']      = "CMS_IMG[99]";
$setting['desc']       = "CMS_IMGDESCR[99]";

if ( $setting['image'] != '' or $edit ) {

list($myWidth, $myHeight, $myType, $myAttributes) = getimagesize(str_replace($cfgClient[$client]["path"]["htmlpath"], $cfgClient[$client]["path"]["frontend"],$setting['image'])); // hier $setting['image']

  if( $setting['image'] )
    echo '<img src="'.$setting['image'].'" border="0" width="'.$myWidth.'" height="'.$myHeight.'">';
  echo $setting['desc'];
}
unset( $setting );
?>
Bekomme ich nur im Backend eine Fehlermeldung wenn noch kein Bild geladen wurde ... ansonsten geht´s super.

Fehlermeldung:

Code: Alles auswählen

Warning: getimagesize() [function.getimagesize]: Filename cannot be empty in /homepages/15/d311782176/htdocs/contenido/includes/include.con_editcontent.php(638) : eval()'d code on line 188
Woran kann das liegen?

Über Hilfe oder nen Tipp wäre ich sehr dankbar.

Beste Grüße Vince

Re: Einfaches Bildmodul für den Editor gesucht

Verfasst: Mo 4. Jan 2010, 09:58
von McHubi
Hi,

nimm das hier

Code: Alles auswählen

<?php
$setting['image']      = "CMS_IMG[99]";
$setting['desc']       = "CMS_IMGDESCR[99]";


if ( $setting['image'] != '' or $edit ) {

if ( $setting['image'])
list($myWidth, $myHeight, $myType, $myAttributes) = getimagesize(str_replace($cfgClient[$client]["path"]["htmlpath"], $cfgClient[$client]["path"]["frontend"],$setting['image'])); // hier $setting['image']

  if( $setting['image'] )
    echo '<img src="'.$setting['image'].'" border="0" width="'.$myWidth.'" height="'.$myHeight.'">';
  echo $setting['desc'];

}
unset( $setting );



?>
Hinzugekommen ist dieser Part, der dafür sorgt, dass "list..." nur dann ausgeführt wird, wenn $setting['image'] etwas beinhaltet:

...
if ( $setting['image'])
list($myWidth, $myHeight, $myType, $myAttributes) = getimagesize(str_replace($cfgClient[$client]["path"]["htmlpath"], $cfgClient[$client]["path"]["frontend"],$setting['image'])); // hier $setting['image']
...

Re: Einfaches Bildmodul für den Editor gesucht

Verfasst: Mo 4. Jan 2010, 11:14
von hassarabarber
Hallo McHubi.

Super jetzt geht´s. Ich danke Dir sehr.

Beste Grüße Vince

Re: Einfaches Bildmodul für den Editor gesucht

Verfasst: Di 27. Jul 2010, 12:42
von RealKev
Hallo,

hab das Modul übernommen und ein paar Anpassungen gemacht. Nun habe ich aber leider ein Problem. Unter "irgendwelchen" Umständen wird der Pfad vom Bild nicht korrekt angepasst. Ich weiß dass ich nicht direkt ein Fehler des Moduls ist, sondern eher meiner Anpassung, aber hier passt es so gut. :-)
Hier der angepasste Modulcode:

Code: Alles auswählen

<?php
$setting['image']      = "CMS_IMG[99]";
$setting['desc']       = "CMS_IMGDESCR[99]";

cInclude('classes', 'class.article.php');
cInclude('includes', 'functions.api.string.php');
cInclude('includes', 'functions.api.images.php');

if ( $setting['image'] != '' or $edit ) {
if ( $setting['image'])
list($myWidth, $myHeight, $myType, $myAttributes) = getimagesize(str_replace($cfgClient[$client]["path"]["htmlpath"], $cfgClient[$client]["path"]["frontend"],$setting['image'])); // hier $setting['image']

  if( $setting['image'] )
  {
    //echo '<img src="'.$setting['image'].'" border="0" width="'.$myWidth.'" height="'.$myHeight.'">';
    $img_pfad = substr (strrchr ($setting['image'], "upload/"), 7);
    $pict = $cfgClient[$client]['upl']['path'].$img_pfad;
    echo "<!-- ".$setting['image']." -->";
    echo "<!-- ".strrchr ($setting['image'], "upload/")." -->";
    echo "<!-- ".$pict." -->";
    $img = capiImgScale($pict, 150, 1000, $crop = false, $expand = false, $cacheTime = 1000, $wantHQ = false);
    $cachepfad = $cfgClient[$client]["path"]["frontend"]."cache/".substr (strrchr ($img, "/"), 1);
    echo "<!-- ".$img." -->";
    echo "<!-- ".$cachepfad." -->";
    if (strlen($img) > 0)
    {
        list($myWidth, $myHeight, $myType, $myAttributes) = getimagesize($cachepfad);
        //echo '<img src="'.$img.'" border="0">';
        //echo '<div style="background-image: url('.$img.'); background-repeat: no-repeat; width: '.$myWidth.'px; height: '.($myHeight + 25).'px; background-position: bottom; "></div>';
        echo '<img src="'.$img.'" style="width: '.$myWidth.'px; height: '.($myHeight + 25).'px; "/>';
    }
    else
    {
        //echo "<!-- $pict -->";
    }
  }
  echo $setting['desc'];

}
unset( $setting );

?>
Der Fehler sorgt dafür dass der Dateipfad auf der Festplatte nicht korrekt ist. Aber "leider" nur bei manchen Bilder.
Zur Info:
Hier eine Beispielausgabe der ersten drei "echos" wo es nicht funktioniert:

Code: Alles auswählen

<!-- http://***.de/cms/upload/grafiken/leistung.png -->
<!-- ung.png -->
<!-- /homepages/42/d100787876/htdocs/***/cms/upload/ -->
Und hier eine Beispielausgabe wo es funktioniert:

Code: Alles auswählen

<!-- http://***.de/cms/upload/grafiken/Seite_Kontakt.png -->
<!-- upload/grafiken/Seite_Kontakt.png -->
<!-- /homepages/42/d100787876/htdocs/***/cms/upload/grafiken/Seite_Kontakt.png -->
Wäre schön, wenn mir jemand helfen kann. Vielleicht ist es ja nur ein kleiner Denkfehler und ich seh den Wald vor lauter Bäumen nicht.