[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
ismap wird für Frontend nicht entfernt - 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/
Dümm
Beiträge: 5
Registriert: 24. Nov 2009, 16:11

ismap wird für Frontend nicht entfernt

24. Nov 2009, 16:17

Für den Image-Resizer wird ja in alle img Tags ein ismap="ismap" gepackt, blöd ist nur, wenn das im Frontend nicht entfernt wird und man bei Links die Mauskoordinaten dann hinten drangehangen bekommt.

Ordner: \redaxo\include\addons\image_resize\extensions
Datei: extension_wysiwyg.inc.php

Code: Alles auswählen

          $realsize = getimagesize($REX['HTDOCS_PATH'] . 'files/' . $src[2]);
          if (($realsize[0] != $width[1]) || ($realsize[1] != $height[1]))
          {
            $newsrc = $REX["FRONTEND_FILE"].'?rex_resize=' . $width[1] . 'w__' . $height[1] . 'h__' . $src[2];
            $newimage = str_replace(array($src[1], 'ismap="ismap" '), array($newsrc, ''), $var);
            $content = str_replace($var, $newimage, $content);
          }
          else if ($REX['REDAXO'])
          {
            $newsrc = $REX['HTDOCS_PATH'] . 'files/' . $src[2];
            $newimage = str_replace(array($src[1], 'ismap="ismap" '), array($newsrc, ''), $var);
            $content = str_replace($var, $newimage, $content);
          }  
Wie man sehen kann, wird das ismap entfernt, wenn entweder das Resize am Bild angewendet wird oder man sich im Backend befindet.
Es gibt aber keine Aktion dafür, wenn man sich im Frontend befindet, was nachgeholt werden sollte.

Das hab ich hier als Lösung für mich an das Ende der foreach-Schleife gehangen:

Code: Alles auswählen

$content = str_replace('ismap="ismap" ', '', $content);

Maw.
Beiträge: 129
Registriert: 4. Aug 2008, 10:05
Kontaktdaten: Website

14. Jan 2010, 16:29

wo genau, muss das jetzt hin, bin leider kein php- könner

Benutzeravatar
Cheffchen
Beiträge: 1809
Registriert: 3. Mär 2009, 13:51
Wohnort: Berlin
Kontaktdaten: Website

14. Jan 2010, 17:06

Hallo,

das hier ist eine schöne Lösung, damit kommst bestimmt klar.

http://forum.redaxo.de/ftopic8768.html?&highlight=ismap

wenn nicht hier einfach nachfragen.

Cheffchen

Dümm
Beiträge: 5
Registriert: 24. Nov 2009, 16:11

15. Jan 2010, 16:29

Sehe ich das richtig, dass diese Änderung der Tinymce-Optionen dazu führt, dass garkeine ismap Attribute mehr erzeugt werden?

Sollte das der Fall sein, legt man somit auch gleich den Image-Resizer lahm, der anhand dieses Attributes, die in Tinymce verkleinerten Bilder später mit PHP auch wirklich auf diese Größe zusammenschrumpft.

Zur Hilfe nochmal, wo mein Code-Schnipsel genau hin muss:

1.) Folgende Datei bearbeiten:
\redaxo\include\addons\image_resize\extensions\extension_wysiwyg.inc.php

2.) Am Ende der Datei sollte folgender Code zu finden sein:

Code: Alles auswählen

  }
  return $content;
}
3.) Genau vor diesem gefundenen Stück Code das hier einfügen:

Code: Alles auswählen

$content = str_replace('ismap="ismap" ', '', $content);

frood
Beiträge: 226
Registriert: 7. Okt 2008, 15:17

ismap Lösung TinyMce

12. Aug 2010, 13:52

Moin!
Alle bisherigen Lösungen killen die ImageRezize-Funktion, hier nun eine Lösung, die ismap im Frontend eliminiert und ImageRezize heil läßt:

Zeile 50:

Code: Alles auswählen

else if ($REX['REDAXO'])
ändern in:

Code: Alles auswählen

else if ($REX['REDAXO'] || ($realsize[0] == $width[1]) && ($realsize[1] == $height[1]) )
Alles andere original lassen!
So wird das ismap-Attribut nur entfernt, wenn die Größe des Bildes in der Ausgabe der Originalgröße der Bilddatei entspricht, ansonsten wird es für die ImageRezize-Funktion erhalten.

Zurück zu „Sonstiges“