[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Bilder im backend zu groß - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
Phlogiston
Beiträge: 219
Registriert: 19. Mär 2008, 13:13
Kontaktdaten: Website

Bilder im backend zu groß

21. Jan 2011, 19:59

Hallo Forum,
ich habe via REX_MEDia_BUTTON ein einzelnes Bild über die ganze Breite des frontend eingebaut.
Leider wird das Bid im backend aber so groß ausgegeben, dass es weit über die normale weite des backend hinausreicht.
Mich stört das und ich würde das Bild in der Backend Darstellung gerne verkleinern.
Redaxo Version 4.3.1
Minibeispiel "Bild"
Frontendarstellung ist perfekt.
Image Manager habe ich versucht weiß aber nicht genau was ich da wo einfügen muss.
Wäre super wenn es da eine Lösung gäbe
Forum habe ich durchsucht, Redaxo Wiki gelesen und das VideoTutorual von on-Laing angesehen.
Vermute, dass ich da irgendwo auf dem Schlauch stehe, nur welcher Schlauch. :)

Hirbod
Beiträge: 435
Registriert: 15. Jan 2008, 14:46

Re: Bilder im backend zu groß

21. Jan 2011, 22:00

In der Modulausgabe zwischen Frontend und Backend unterscheiden

Code: Alles auswählen

if ($REX['REDAXO']) { 
 echo 'Ich bin nur im Backend zu sehen.';
} 

if (!$REX['REDAXO']) { 
 echo 'Ich bin nur im Frontend zu sehen.';
}

Oder einfach nur:
if (!$REX['REDAXO']) { 
 echo 'Ich bin nur im Frontend zu sehen.';
} else {
...
}

Entsprechend Ein / Ausgabe dann andere Image_Manager Einstellung verwenden.

LG
Hirbod

Benutzeravatar
Phlogiston
Beiträge: 219
Registriert: 19. Mär 2008, 13:13
Kontaktdaten: Website

Re: Bilder im backend zu groß

21. Jan 2011, 22:34

Hi Hirbod,
vielen Dank für die schnelle Antwort. Im Prinzip habe ich das auch verstanden."!" für Frontend, "$"für backend
Nur, die Verbindung zwischen Image Manager und Modul??? Was muss da stehen?

Ich liebe es einfach, und ich weiß auch warum.

Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

Re: Bilder im backend zu groß

22. Jan 2011, 02:16

Phlogiston hat geschrieben:Im Prinzip habe ich das auch verstanden."!" für Frontend, "$"für backend
Nicht wirklich ;) $REX['REDAXO'] ist im backend TRUE, und im frontend FALSE, das "!" vor ner Variablen steht für "nicht" bzw false.
Phlogiston hat geschrieben:Nur, die Verbindung zwischen Image Manager und Modul??? Was muss da stehen?
Du willst im Modul-Out über den beschriebenen Mechanismus prüfen, ob die Ausgabe gerade im frontend oder im backend erfolgt.. wenn backend, dann weist du eben nen anderen(kleineren) Bildtyp (Image_manager) bzw. kleinere resize Werte (image_resize) zu.
Phlogiston hat geschrieben:Ich liebe es einfach, und ich weiß auch warum.
Das Leben is kein Wunschkonzert.. ;)

lg,
j.
vg, Jan

Benutzeravatar
Phlogiston
Beiträge: 219
Registriert: 19. Mär 2008, 13:13
Kontaktdaten: Website

Re: Bilder im backend zu groß

22. Jan 2011, 14:15

Hi J.
vielen Dank für die erhellenden Hinweise zu den Redaxo Variablen. Ich wusste das bisher nicht.
Und wie immer ist alles ganz einfach sobald man´s weiß.
dann weist du eben nen anderen(kleineren) Bildtyp (Image_manager) bzw. kleinere resize Werte (image_resize) zu
Das ist eben exakt mein Problem. Ich hab da natütlich rumprobiert aber es funktioniert irgendwie nicht.
Wie würde denn die Zuweisung eines Bildtyps in beispielsweise folgendem Code aussehen

Code: Alles auswählen

<?php

if ("REX_MEDIALIST[1]" != "")
{
  $arr = explode(",","REX_MEDIALIST[1]");
  foreach ($arr as $value) {
    echo "<img src=".$REX['HTDOCS_PATH']."/files/$value>";
  }
}

?>
Ich möchte lediglich den Typ "rex_medialistbutton_preview" zuweisen, bekomme aber immer Fehlermeldungen.

Im Zweifel immer für den Unwissenden.
LG
Phlog

Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

Re: Bilder im backend zu groß

22. Jan 2011, 14:24

Phlogiston hat geschrieben:

Code: Alles auswählen

<?php

if ("REX_MEDIALIST[1]" != "")
{
  $arr = explode(",","REX_MEDIALIST[1]");
  foreach ($arr as $value) {
    echo "<img src=".$REX['HTDOCS_PATH']."/files/$value>";
  }
}

?>
Ich möchte lediglich den Typ "rex_medialistbutton_preview" zuweisen, bekomme aber immer Fehlermeldungen.
Puh.. ;-) Zitat aus Image Manager > Erklärung:

Code: Alles auswählen

Anwendungsbeispiele:
index.php?rex_img_type=ImgTypeName&rex_img_file=ImageFileName 
In deinem Code oben rufst du die files direkt auf.. du benutzt den resize per image_manager garnicht..

lg,
j.
vg, Jan

Benutzeravatar
Phlogiston
Beiträge: 219
Registriert: 19. Mär 2008, 13:13
Kontaktdaten: Website

Re: Bilder im backend zu groß

22. Jan 2011, 15:21

Jep,
das war mir schon klar.
Ich denke, dass es sich im wesentlichen um die folgende Zeile handelt:

Code: Alles auswählen

 echo "<img src=".$REX['HTDOCS_PATH']."index.php?rex_img_type=rex_medialistbutton_preview&rex_img_file='./files/$value>";
So wie es da jetzt steht bekomme ich einen Error. Also vermutlich stimmt der Pfade nicht.
Ich habe nat. rumprobiert und möchte das Problem jetzt auch unbedingt lösen. :evil:
Sehe nur langsam vor lauter Bäumen den Wald nicht mehr.

Lg
Phlog

Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

Re: Bilder im backend zu groß

22. Jan 2011, 15:34

Code: Alles auswählen

echo '<img src="index.php?rex_img_type=rex_medialistbutton_preview&rex_img_file='.$value.' alt="" title="" />';
lg,
j.
vg, Jan

Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

Re: Bilder im backend zu groß

22. Jan 2011, 15:35

jeandeluxe hat geschrieben:

Code: Alles auswählen

echo '<img src="index.php?rex_img_type=rex_medialistbutton_preview&rex_img_file='.$value.' alt="" title="" />';
Denke es wäre der richtige Zeitpunkt sich mal bischen in PHP Grundlagen einzuarbeiten..

lg,
j.
vg, Jan

Benutzeravatar
Phlogiston
Beiträge: 219
Registriert: 19. Mär 2008, 13:13
Kontaktdaten: Website

Re: Bilder im backend zu groß

22. Jan 2011, 16:12

jeandeluxe hat geschrieben:Denke es wäre der richtige Zeitpunkt sich mal bischen in PHP Grundlagen einzuarbeiten.
Da bin ich zu einhundert % deiner Meinung!
Gleichwohl bleibt mir der "ERROR" erhalten.
Ich habe die Zeile so eingegeben wie sie oben steht.(copy and paste) Leider ohne Erfolg.
Wenn ich wenigsten den Schlauch finden könnte auf dem ich offesnsichtlich gerade stehe.

Lg
Plog

Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

Re: Bilder im backend zu groß

22. Jan 2011, 16:16

Phlogiston hat geschrieben:Gleichwohl bleibt mir der "ERROR" erhalten.
Welcher? poste mal deinen komplette Code..

lg,
j.
vg, Jan

Benutzeravatar
Phlogiston
Beiträge: 219
Registriert: 19. Mär 2008, 13:13
Kontaktdaten: Website

Re: Bilder im backend zu groß

23. Jan 2011, 13:17

Sorry musste gestern leider weg.
Das ist der Code der bei mir den Error verursacht

Code: Alles auswählen

<?php

if ("REX_MEDIALIST[1]" != "")
{
  $arr = explode(",","REX_MEDIALIST[1]");
  foreach ($arr as $value) {
 echo '<img src="index.php?rex_img_type=rex_medialistbutton_preview&rex_img_file='.$value.' alt="" title="" />';
  }
}

?>

zehbaeh-reloaded
Beiträge: 23
Registriert: 8. Jan 2011, 21:12

Re: Bilder im backend zu groß

23. Jan 2011, 15:17

Die Fehlermeldung hast Du aber nicht gepostet.)
Das Und-Zeichen '&' solltest Du als '&' angegeben oder dem Kontext entsprechend behandeln:

Code: Alles auswählen

$resizeUrl = 'index.php?rex_img_type=rex_medialistbutton_preview&rex_img_file='; 
foreach ($mediaList as $media):?>
  <img
    src="<?php echo htmlspecialchars($resizeUrl . rawurlencode($media)) ?>"
    alt="<?php echo htmlspecialchars($media) ?>"
    title="<?php echo htmlspecialchars($media) ?>"
  />';
<?php endforeach;

Benutzeravatar
Phlogiston
Beiträge: 219
Registriert: 19. Mär 2008, 13:13
Kontaktdaten: Website

Re: Bilder im backend zu groß

23. Jan 2011, 18:45

Hi zehbaeh,
o.k. das mit dem "&" habe ich wohl übersehen.
Aber auch nachdem ich das korrigiert hatte bleibt mir der Error.
Also keine Fehlermeldung einfach nur !ERROR sowohl im backend als auch im frontend.
Wenn ich den von dir vorgeschlagenne Code einbaue sieht das ganze so aus:
<?php

if ("REX_MEDIALIST[1]" != "")
{
$arr = explode(",","REX_MEDIALIST[1]");
foreach ($arr as $value) {
$resizeUrl = 'index.php?rex_img_type=rex_medialistbutton_preview&rex_img_file=';
foreach ($mediaList as $media):?>
<img
src="<?php echo htmlspecialchars($resizeUrl . rawurlencode($media)) ?>"
alt="<?php echo htmlspecialchars($media) ?>"
title="<?php echo htmlspecialchars($media) ?>"
/>';
<?php endforeach;
}
}

?>
Wobei ich mir nicht ganz sicher bin ob ich das auch korrekt eingebaut habe. Bin nämlich kein php Ass.
(siehe oben) :?
Dann erhalte ich folgende Fehlermeldung:
Warning: Invalid argument supplied for foreach() in /mnt/web5/42/34/5208734/htdocs/neu/redaxo/include/classes/class.rex_article.inc.php(133) : eval()'d code on line

Ist schon merkwürdig alles .

LG
Phlog

zehbaeh-reloaded
Beiträge: 23
Registriert: 8. Jan 2011, 21:12

Re: Bilder im backend zu groß

23. Jan 2011, 20:23

Ich hatte im Beispiel andere Bezeichner verwendet, die müssen natürlich entsprechend angepasst werden.
Versuch es mal hiermit:

Code: Alles auswählen

<?php
// ALLE FEHLER AN (nur zum Testen)
error_reporting(E_ALL); ini_set('display_errors', 1);

$resizeUrl = 'index.php?rex_img_type=rex_medialistbutton_preview&rex_img_file=';
foreach (explode(',', 'REX_MEDIALIST[1]') as $media):?>
    <img
    src="<?php echo htmlspecialchars($resizeUrl . rawurlencode($media)) ?>"
    alt="<?php echo htmlspecialchars($media) ?>"
    title="<?php echo htmlspecialchars($media) ?>"
    />
<?php endforeach;
Das sollte keine Fehler produzieren.
Die Zeile mit "error_reporting" löschen wenn die Ergebnisse wie erwartet sind.

Benutzeravatar
Phlogiston
Beiträge: 219
Registriert: 19. Mär 2008, 13:13
Kontaktdaten: Website

Re: Bilder im backend zu groß

24. Jan 2011, 00:50

Sorry selbe Fehlermedlung.
Ich meine, jetzt mal im Ernst.
Das kleine Medialist-Modul
<?php

if ("REX_MEDIALIST[1]" != "")
{
$arr = explode(",","REX_MEDIALIST[1]");
foreach ($arr as $value) {
echo "<br />Wert: $value <img src=".$REX['HTDOCS_PATH']."/files/$value>";
}
}

?>
(funktioniert prima, nur die Ausgabe im backend ist zu groß)
müsste doch eigentlich ohne große Narrenkappe mit dem Imagemaker kommunizieren können.

how ever, ich muss hier wirklich mal das Forum loben und vielen Dank für das feed back

LG
Phlog

Benutzeravatar
Richard.Laing
Beiträge: 2105
Registriert: 28. Aug 2005, 00:55
Wohnort: Brühl / Rheinland
Kontaktdaten: Website

Re: Bilder im backend zu groß

24. Jan 2011, 09:37

hi so wie die ausgabe jetzt aussieht ist das natürlich klar das es in voller größe angezeigt wird, es ist ja kein resize vergeben...
versuch das mal...
Eingabe:

Code: Alles auswählen

REX_MEDIALIST_BUTTON[1]
<br />
<strong>Title des Fotos</strong>:<br />
<input type="text" name="VALUE[1]" value="REX_VALUE[1]" size="80" class="inp100" />
Ausgabe:

Code: Alles auswählen

<?php
  
if ("REX_MEDIALIST[1]" != "")
{
  $arr = explode(",","REX_MEDIALIST[1]");
  foreach ($arr as $value) {
    echo '<img title="REX_VALUE[1]" alt="REX_VALUE[1]" src="index.php?rex_img_type=rex_bildergalerie&rex_img_file='.$value>;
  }
}
  
?>
beim Image manager nun noch rex_bildergalerie anlegen mit deinen einstellungen ... fertig.
Video dazu...
http://www.rexvideo.de/tutorials/videot ... on-09.html

gruß richy
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de

Benutzeravatar
Phlogiston
Beiträge: 219
Registriert: 19. Mär 2008, 13:13
Kontaktdaten: Website

Re: Bilder im backend zu groß

24. Jan 2011, 12:31

Hallo Forum,
erstmal vielen Dank für das feed back.
Ich habe nach der letzten Koorektur von Zebaeh auch tatsächlich zum ersten Mal ein Resultat.
Sprich das Bild ist verkleinert zu sehen. Leider wird es aber auch im frontend entsprechend verkleinert ausgegeben. Ich wollte das Bild aber nur im backend verkleinern.
Und hier kommt jetzt Richard ins Spiel. Natürlich, und vielen Dank für den erhellenden HInweis,
dass ich natürlich in der Eingabe eine Größenangabe verwenden kann.
Leider funtioniert das aber auch nicht. Wenn ich das so mache wie oben beschrieben erhalte ich folgende Fehlermeldung:
Parse error: syntax error, unexpected ';' in /mnt/web5/42/34/5208734/htdocs/neu/redaxo/include/classes/class.rex_article_base.inc.php(354) : eval()'d code on line 51
Nachdem ich die Ausgabeseite des Moduls wieder zurückgesetzt habe ist die Fehlermeldung zwar auch wieder weg, das Bild im backend aber auch wieder unverändert zu groß. :shock:

Isch wedd noch wahhnsinnisch.
LG
Phlog

Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

Re: Bilder im backend zu groß

24. Jan 2011, 12:43

Phlogiston hat geschrieben:Ich wollte das Bild aber nur im backend verkleinern. .. Isch wedd noch wahhnsinnisch.
Gehe ein paar Schritte zurück, und nochmal: Schaf dir ein paar Grundlagen drauf.. muß noch nicht mal ein Buch sein, such dir wenigstens ein (oder laß dir was empfehlen) online tutorial.. die Stunden die du planlos rumstocherst sind wirklich sinnvoller investiert. been there, done that.. ;-)

lg,
jan
vg, Jan

Benutzeravatar
Richard.Laing
Beiträge: 2105
Registriert: 28. Aug 2005, 00:55
Wohnort: Brühl / Rheinland
Kontaktdaten: Website

Re: Bilder im backend zu groß

24. Jan 2011, 12:59

Phlogiston hat geschrieben:
Parse error: syntax error, unexpected ';' in /mnt/web5/42/34/5208734/htdocs/neu/redaxo/include/classes/class.rex_article_base.inc.php(354) : eval()'d code on line 51
da haben ein paar zeichen gefehlt sorry.

Code: Alles auswählen

<?php
 
if ("REX_MEDIALIST[1]" != "")
{
  $arr = explode(",","REX_MEDIALIST[1]");
  foreach ($arr as $value) {
    echo '<img title="REX_VALUE[1]" alt="REX_VALUE[1]" src="index.php?rex_img_type=rex_bildergalerie&rex_img_file='.$value.'">';
  }
}
 
?>
teste mal.
gruß richy
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de

Benutzeravatar
Phlogiston
Beiträge: 219
Registriert: 19. Mär 2008, 13:13
Kontaktdaten: Website

Re: Bilder im backend zu groß

24. Jan 2011, 14:04

Hallo Richi,
mittlerweile funktionierts. Vielen Dank. Auch wenn mein eigentliches Anliegen nämlich
das Bild im nur Backend in der Artikelansicht klein anzuzeigen, im frontend sollte das Bild
unverändert ausgegeben werden immer noch nicht hinhaut.

Du hast mir aber ein anderes Problemchen verdeutlicht, nämlich das hinzufügen der titel und alt-Tags übers modul. Da bin ich zumindes ein Schritt weiter.

LG
Phlog

Benutzeravatar
Richard.Laing
Beiträge: 2105
Registriert: 28. Aug 2005, 00:55
Wohnort: Brühl / Rheinland
Kontaktdaten: Website

Re: Bilder im backend zu groß

24. Jan 2011, 14:24

jup dann noch na abfrage drum herum wo du bist (backend oder frontend)

Code: Alles auswählen

<?php
if ($REX['REDAXO'])
{
  // Backend
if ("REX_MEDIALIST[1]" != "")
{
  $arr = explode(",","REX_MEDIALIST[1]");
  foreach ($arr as $value) {
    echo '<img title="REX_VALUE[1]" alt="REX_VALUE[1]" src="index.php?rex_img_type=rex_backend_galerie&rex_img_file='.$value.'">';
  }
}

}
else
{
  // Frontend
if ("REX_MEDIALIST[1]" != "")
{
  $arr = explode(",","REX_MEDIALIST[1]");
  foreach ($arr as $value) {
    echo '<img title="REX_VALUE[1]" alt="REX_VALUE[1]" src="index.php?rex_img_type=rex_bildergalerie&rex_img_file='.$value.'">';
  }
}

}

?>
das kann man bestimmt etwas schlanker schreiben ...
nicht vergessen beim imagemanager den neuen bildtypen anzulegen "rex_backend_galerie"
gruß richy
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de

Benutzeravatar
Phlogiston
Beiträge: 219
Registriert: 19. Mär 2008, 13:13
Kontaktdaten: Website

Re: Bilder im backend zu groß - GELÖST!

24. Jan 2011, 15:22

Hi Richi,
du hast es geschafft! :D :D ,
Ich habe lediglich jeweils einen eigenen Bildtyp erstellt und entsprechend zugewiesen.
Prima, mille Grazie

Phlog

zehbaeh-reloaded
Beiträge: 23
Registriert: 8. Jan 2011, 21:12

Re: Bilder im backend zu groß

24. Jan 2011, 16:49

Du benutzt eine Medienliste und verwendest für alle Medien die gleiche Beschreibung/Alt/Titel?
Das dürfte kaum Sinnvoll sein. Für Medien aus dem Medienpool sollten aus Konsistenzgründen die dafür vorgesehenen Metadaten verwendet werden.
Bilder sollten für den Komfort des Benutzers immer mit Grössenangaben ausgegeben werden.
Beispielhaft poste ich einen an dein Problem angepassten (ungetesteten) Code der die obigen Anmerkungen berücksichtigt:

Code: Alles auswählen

<?php
$backend      = TRUE === $REX['REDAXO'];
$imageType    = 'rex_medialistbutton_preview';
$mediaUrl     = $backend ? "index.php?rex_img_type={$imageType}&rex_img_file=" : "{$REX['HTDOCS_PATH']}files/";
$invalidMedia = 'Mediendatei "%s" kann nicht als Bild verwendet werden';

foreach (explode(',', 'REX_MEDIALIST[1]') as $mediaFilename):
    $media = OOMedia::getMediaByFileName($mediaFilename);
    switch (TRUE) {
        case $backend && isset($media) && $media->isImage():
            // Zur Ausgabe der Bilddimension das berechnete Bild vom Image Manager benutzen
            $image = rex_image_manager::getImageCache($media->getFilename(), $imageType);
            break;

        case isset($media) && $media->isImage():
            $image = $media;
            break;

        case $backend:
            echo rex_warning(htmlspecialchars(sprintf($invalidMedia, $mediaFilename)));

        default:
            continue 2; // weiter mit foreach
    }
    ?><img
        src    = "<?php echo htmlspecialchars($mediaUrl . rawurlencode($media->getFilename())) ?>"
        alt    = "<?php echo htmlspecialchars($media->getValue('med_description')) ?>"
        title  = "<?php echo htmlspecialchars($media->getTitle()) ?>"
        width  = "<?php echo $image->getWidth()  ?>"
        height = "<?php echo $image->getHeight() ?>"
    /><?php
endforeach;
?>
EDIT: Korrekturen (Slash vor "/files" entfernt, schliessendes "?>" hinzugefügt)
Zuletzt geändert von zehbaeh-reloaded am 25. Jan 2011, 12:22, insgesamt 2-mal geändert.

Benutzeravatar
Richard.Laing
Beiträge: 2105
Registriert: 28. Aug 2005, 00:55
Wohnort: Brühl / Rheinland
Kontaktdaten: Website

Re: Bilder im backend zu groß

24. Jan 2011, 16:57

jawoll das ist die luxusversion ;)
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de

Zurück zu „Allgemeines [R4]“