Willkommen im neuen Forum von concrete5.de.
Die Anmeldung ist ab dem 15.10.2020 nur noch mit E-Mail Adresse und Passwort möglich. Eine Anmeldung mit Benutzername ist nicht mehr möglich.

Diese Nachricht löschen.
Anhang entfernen?
Zurück zur Themenliste
C
chico 0.png 20.11.2012 14:31

Textlinks auf Bilder im tinyMCE

Hallo, einen Text im Content-Block zu markieren und dann einen Link auf ein Bild zu setzen müsste eigentlich eine einfache Aufgabe sein. Trotzdem geht das bei mir nur auf Umwegen, die ich meinen Besuchern, die selbst Artikel verfassen und keine HTML-Code bearbeiten sollen, umständlich erklären muss. Linktext markieren -> Datei hinzufügen -> Bild aus der Dateiverwaltung auswählen (Dateiverwaltung schließt sich nicht automatisch) führt zum Eintrag javascript:mctmp(0); im Adressfeld des Linkeditors. 1. Workaround: Erst in die Dateiverwaltung gehen -> Bild -> Eigenschaften -> URL zur Datei kopieren -> Dateiverwaltung verlassen -> Textlink markieren -> Linkeditor aufrufen -> kopierte URL ins Adressfeld übernehmen. 2. Workaround: Keinen Text markieren -> Datei hinzufügen -> Bild auswählen (Dateiverwaltung schließt automatisch) -> an der Cursor-Position steht der Name der Datei als Link -> Dateinamen mit gewünschtem Linktext überschreiben (innerhalb des Dateinamens anfangen, sonst ist der Link weg) Wenn sich das Bild in einer Lightbox öffnen soll, noch mal innerhalb des Linktextes in den Linkeditor gehen und dort die entsprechend vorbereitete CSS-Klasse oder das rel-Attribut auswählen. Kann das jemand nachvollziehen, oder geht es ganz einfach, aber anders ? Danke für eure evtl. Mühe Gruß Jens
R
Remo 0.png 21.11.2012 19:26
Hi Jens das Problem, dass der erste Weg zu javascript:mctmp führt kann ich leider nicht reproduzieren, das funktioniert bei mir einwandfrei und wäre auch der offizielle weg. Wenn du eine CSS Klasse hinterlegen willst, dann geht das entweder über den Weg den du beschrieben hast, oder über ein Custom Template. Theoretisch könntest du den Code scannen und Links auf Bilder mit einer Lightbox öffnen. Sowas hab ich auch in meinem ersten Buch beschrieben. Ich stimme dir aber grundsätzlich zu, der Content Block ist dafür nicht besonders komfortable. Wir verwenden deswegen auch immer den Image oder einen eigenen Galerie Block. Ein Image Block hat den Vorteil, dass man die Blöcke einfach verschieben kann und ein Galerie Block ist für uns ebenfalls einfacher wenn's eine komplette Lightbox Galerie sein soll. Ich weiss aber, dass der Content Block komplett neu gebaut wird. Neu kommt da nicht mehr TinyMCE zum Einsatz, sondern redactor.js. Ich hab dafür aber keinen Termin, noch kann ich sagen in der welcher Version der zur Verfügung stehen wird. Vermutlich 5.7, ist aber reine Spekulation.
C
chico 0.png 22.11.2012 19:28
Hi Remo, Diese Verhalten habe ich auf mehreren Rechners und Browsern. Die Buntzer meiner Seite haben das auch, deswegen habe ich ja ein Workaround festgelegt. Nach einem Ratschlag im concrete5.org-Forum, in dem es einige Threads dazu gibt, habe ich den Ordner /js im root-Verzeichnis (in dem ich eine angepasste Version vom tinymce habe) umbenannt. Dadurch sollte concrete5 dann mit dem Original-Core tinymce arbeiten. Das habe ich auch erwartet, aber der tinymce wird dann nicht mehr angezeigt. Ich gehe davon aus, dass der core-tinymce im aktuellen Ordner /update/concrete5.6.0.2/concrete/js nicht gefunden wird. Das dürfte doch nicht sein, oder kann man den /js-Ordner nicht wie die anderen Root-Ordner als 'Override-Ordner' nutzen ? Gruß Jens
R
Remo 0.png 22.11.2012 19:52
Hi Jens, mit den JavaScript Files ist's etwas schwieriger, ich persönlich würde nicht empfehlen TinyMCE zu überschreiben. Soll nicht heissen, dass man es nicht hinbekommt, ich seh aber sehr viele theoretische Problem. Ich weiss auch von ein paar Änderungen in TinyMCE, die dazu führen könnten, dass TinyMCE gar nicht mehr initialisiert wird. Z.B.: Die Klasse der Textarea wurde angepasst. Gibt aber noch ein paar andere Gründe.. Persönlich würde ich lieber den Weg verfolgen das eigentliche Problem zu beheben. Hab's gerade nochmals getestet, Link-Text markiere und File auswählen klappt bei mir absolut problemlos. Hab's aber nur mit Chrome auf die Schnelle getestet. Kannst du mir noch etwas mehr Details angeben? concrete5 Version, Browser etc. Ich bin sicher, ich könnte das Problem beheben, sofern ich es reproduzieren kann.
C
chico 0.png 28.11.2012 17:51
Hi Remo, habe den Fehler gefunden. Den tinymce im /js-Ordner habe ich wegen der deutschen Übersetzung mit einer früheren deutschen c5 Installation von concrete5.de installiert. Seitdem ist der Fehler aufgetreten, den ich aber viel später gemerkt und nicht mehr damit in Zusammenhang gebracht habe. Ich habe in den Ordner /js den original concrete/js/tiny_mce - Ordner kopiert, die deutschen Language-Files von https://github.com/bmatzner/concrete5-de in die entsprecenden Ordner kopiert und nun ist der Fehler weg. Ein Problem ist jedoch geblieben: Wenn ich einen Text auf ein Bild verlinke, wird eine Link in dem Format /index.php/download_file/view/521/ erzeugt. Da ich das Bild in einer Lightbox sehen will, setze ich im Linkeditor eine Klasse zur Steuerung der Lightbox. Es werden aber nun in einer Lightbox nur ascii-Zeichen angezeigt. Ändere ich die Linkadresse auf /index.php/download_file/view_inline/521/, funktioniert die Lightbox. Wenn ich eine Bild mit 'Bild hinzufügen' verlinke, ist die Linkadresse ..../view_inline/xyz.jpg, verlinke ich eine Datei oder ein Bild mit 'Datei hinzufügen', ist die Adresse ..../view/xyz.jpg. Wenn ich mit der URL zur Datei arbeite und diese aus den Eigenschaften des Bildes in die Linkadresse kopiere, geht es immer. Das möchte ich aber meinen Benutzern, die Inhalte erstellen, nicht zumuten. Das und die gesamte Dateiverwaltung sind für mich noch undurchschaubar und auch dein Buch, mit dem ich vieles verstanden habe, konnte nicht weiter helfen. Vielleicht hast du noch einen Tip für mich. Erstmal vielen Dank für deine Bemühungen. Jens
R
Remo 0.png 29.11.2012 08:32
Hi Jens ich seh ich zwei Varianten: 1. Sofern dies zum Erfolg führt (hab's nicht getestet), könnte man auch die Lightbox anpassen. 2. Man erstellt ein neues Content Block Template und ersetzt dort die Links. Wenn du das Default Content Block Template überschreiben willst, dann erstellt eine Datei /blocks/content/view.php mit folgendem Inhalt: <?php defined('C5_EXECUTE') or die("Access Denied."); $content = $controller->getContent(); print str_replace('/view/', '/view_inline/', $content); ?> Ansonsten einfach ein zweites Template erstellen /blocks/content/templates/lightbox.php und dort den Inhalt einfügen.
C
chico 0.png 30.11.2012 13:29
Hi Remo, ich habe deine Variante 2. eingesetzt und festgestellt, dass zwar '/view/' mit '/view_inline/' ersetzt wird, aber zusätzlich '1/' angehängt wird.(von wem auch immer??) Aus z.B. 'http://localhost/index.php/download_file/view/8/' wird 'http://localhost/index.php/download_file/view_inline/8/1/'. Es werden in einer Lightbox dann nur ascii-Zeichen angezeigt. Kannst du das nachvollziehen? Ich versuche nun das jQuery-script für die Colorbox anzupassen und damit die Stringersetzung zu machen. Muss mich aber noch weiter einarbeiten. Wenn es klappt, melde ich mich wieder. Gruß Jens
R
Remo 0.png 02.12.2012 09:38
Ja, das kann ich reproduzieren, allerdings kommt das nicht von der Anpassung die ich vorgeschlagen habe, das kommt von concrete5 selber. Egal ob du mit meinem Template arbeitest oder nichts. Diese Zahl steht für die aktuelle ID der Seite auf der du dich befindest. Damit kann man erkennen, von wo eine Datei heruntergeladen wurde. Interessier die Wenigstens, aber wenn du's benötigst, dann ist's praktisch. Ich seh nicht, wieso das ein Problem verursachen sollte! Beachte aber bitte, dass du mit meinem Template auch einen "normalen Filedownload" anpasst. concrete5 wird eine ZIP Datei mit dieser Änderung an den Browser schicken um den Inhalt direkt im Browser anzuzeigen. Je nach Browser wird's trotzdem heruntergeladen, kann aber auch unschöne Effekte haben!
C
chico 0.png 05.12.2012 16:34
Hi Remo, nach etlichen Versuchen habe ich folgendes herausgefunden: Verwende ich die Lightbox, z.B. als Custom-Template so wie in deinem Buch Seite 138 beschrieben, so wird das Bild korrekt angezeigt. (Im Buch auf Seite 139 fehlt übrigens der Hinweis, dass man im Linkeditor noch die Klasse "lightbox" hinzufügen muss.) Verwende ich andere jQuery-Lightbox-Plugins (Colorbox oder nyroModal), so wird das Bild als ASCII-Zeichen (Bild als ZIP-Datei?) angezeigt. Entferne ich die automatisch angehängte ID-Nr. funktionieren auch die anderen Lightboxen. Ich werde daher meinen Editoren weiter zumuten müssen, den Text 'view' in der Adresse im Linkeditor auf 'view-inline' zu ändern. Danke nochmals für deine Bemühungen. Jens
R
Remo 0.png 05.12.2012 17:44
Kann mir dieses Verhalten spontan nicht erklären. Ich hab eher zufällig mit dem jQuery Lightbox gearbeitet und keine alternativen geprüft. Die fehlende CSS Klasse hätte eigentlich in einem Errata erwähnt sein müssen. In der zweiten Auflage, mir der ich vermutlich nächste Woche starte, wird's korrigiert sein ;-) Falls du deinen Code irgendwo hochladen kannst, schau ich's mir gerne an. Gruss Remo

Nachricht hinzufügen