Absolute interne URLs für Newsletter

DiMiZu
Beiträge: 68
Registriert: Sa 8. Okt 2005, 12:49
Kontaktdaten:

Absolute interne URLs für Newsletter

Beitrag von DiMiZu » Fr 16. Apr 2010, 10:50

Liebe Forum Nutzer,

nachdem ich intensiv die Suche genutzt habe und leider nicht fündig geworden bin möchte ich nun hier mein Problem schildern. Sicherlich hat der eine oder andere das schon gelöst...

Ich nutze Contenido 4.8.12 mit Mod Rewrite (Version: 0.5.4) und dem Newslettermodul fürs Versenden von Newsletter

Um HTML Newsletter versenden zu können, habe ich eine Vorlage mit einem CMS_HTML Container erstellt. Wenn ich nun mit dem Tinymce in diesem container Text eingebe, Links erzeuge dann werden, sofern ich projektinterne Links erzeuge, relative Links erzeugt, was leider für die Newsletter nicht so toll ist, denn der eine oder andere Webmailer (z.B. Hotmail) unterstützt base href nicht und will unbedingt absolute URLs.

Ich habe es soweit hinbekommen, dass die Funktion "Link einfügen" des Tinymce absolut eingefügte Links belässt und nicht korrigiert (siehe: http://forum.contenido.org/viewtopic.ph ... ymce+pfade, http://forum.contenido.org/viewtopic.ph ... onvert_url). Soweit so gut. Leider wird ein Link der Form: http://www.eigenedomain.tld/cms/xy aber sobald der Tinymce mit speichern verlassen wird in /xyz korrigiert.

Kann man irgendwie dieses Verhalten verhindern, sodass beim Speichern absolute Links auch als absolute Links erhalten bleiben auch wenn es projektinterne Links sind?

Die Mandanteneinstellungen convert_urls: false, relative_urls: false habe ich schon probiert. Nutz nichts. Wenn es nichts anders geht, dann wäre ich auch mit einer unsauberen Lösung zufrieden ;-)

xmurrix
Beiträge: 3154
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Absolute interne URLs für Newsletter

Beitrag von xmurrix » Fr 16. Apr 2010, 12:54

Hallo DiMiZu,

normalerweise wird in Contenido der base-Tag im head-Bereich generiert. Das ist ganz normales HTML und E-Mail Clients sollten das richtig interpretieren, also (base href + a href).

Reicht das nicht aus oder geht das nicht bei bestimmten Clients?

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

DiMiZu
Beiträge: 68
Registriert: Sa 8. Okt 2005, 12:49
Kontaktdaten:

Re: Absolute interne URLs für Newsletter

Beitrag von DiMiZu » Fr 16. Apr 2010, 14:21

Hallo xmurrix, danke für deine Antwort. Ja ich weiß, der base-Tag ist ganz normales HTML und sollte in jedem E-Mail Client funktionieren sollte. Tut er auch bei vielen Clients aber es gibt leider Ausnahmen vor allem bei Webmailern wie z.B. Hotmail und z.B. einen anderen Webmailer der in unseren Breiten stark vertreten ist....

Eine HTML-Newsletter, welche auf so vielen E-Mail Clients und Webmailern wie möglich funktionieren soll, darf darum nicht auf das base Tag angewiesen sein. Ich muss es irgendwie schaffen mit Contenido absolute URLs zu erzeugen...

xmurrix
Beiträge: 3154
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Absolute interne URLs für Newsletter

Beitrag von xmurrix » Fr 16. Apr 2010, 15:08

...Eine HTML-Newsletter, welche auf so vielen E-Mail Clients und Webmailern wie möglich funktionieren soll, darf darum nicht auf das base Tag angewiesen sein....
Habe ich mir fast gedacht, das wäre natürlich zu einfach gewesen...

Du kannst das folgendermaßen auch lösen:
- Definiere eine Chain-Funktion und registriere sie in der Chain 'Contenido.Frontend.PostprocessUrlBuilding'. Die Funktion kannst du z. B. in der Datei cms/config.local.php Registrieren und definieren, das sollte reichen. Falls es die Datei nicht gibt, lege sie an, sie wird dann automatisch eingebunden.
- Diese Chain-Funktion bekommt die vom UrlBuilder generierte URL. Darin kannst du überprüfen, ob es sich bei der aktuellen Seite um eine Newsletterseite handelt. Falls ja, einfach der URL den Protokoll und Host des Mandanten voranstellen und zurückliefern.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

DiMiZu
Beiträge: 68
Registriert: Sa 8. Okt 2005, 12:49
Kontaktdaten:

Re: Absolute interne URLs für Newsletter

Beitrag von DiMiZu » Fr 16. Apr 2010, 15:09

Dann gebe ich mir mal selbst die Antwort, die da eigentlich schon vor meinen Augen stand.

In den beiden Dateien contenido/scripts/con_tiny.js und contenido\external\wysiwyg\tinymce3\tinymce.tpl.html aus dem patch: (siehe http://forum.contenido.org/viewtopic.ph ... ymce+pfade) steht:

Code: Alles auswählen

		function CustomURLConverter(url, node, on_save) {
			if (node.nodeName  != 'IMG' && node != 'img' && url.indexOf(frontend_path) == -1) {
				var oEd = new tinymce.Editor('contenido', '');
				url = oEd.convertURL(url, node, on_save);
			} else {
				var src = url;
				
				if (!src.match(/^https?:\/\//g)) {
					url = frontend_path+src;
				}
			}
			return url;
		}
Hier einfach den Quelltext so abändern:

Code: Alles auswählen

		function CustomURLConverter(url, node, on_save) {
			if (node.nodeName  != 'IMG' && node != 'img' && url.indexOf("http") == -1) {
				var oEd = new tinymce.Editor('contenido', '');
				url = oEd.convertURL(url, node, on_save);
			} else {
				var src = url;
				
				if (!src.match(/^https?:\/\//g)) {
					url = frontend_path+src;
				}
			}
			return url;
		}
und schon wird der URLConverter URLs mit http im Inhalt in Ruhe lassen...

DiMiZu
Beiträge: 68
Registriert: Sa 8. Okt 2005, 12:49
Kontaktdaten:

Re: Absolute interne URLs für Newsletter

Beitrag von DiMiZu » Fr 16. Apr 2010, 15:13

Hallo xmurrix, habe erst jetzt, nachdem ich meine Antwort gepostet habe deine gesehen. Deine klingt natürlich viel besser. Werde mir notieren, meine unsaubere Lösung - sobald ich die Zeit finde - mit deiner sauberern Lösung zu ersetzen. Danke für den hilfreichen Tipp!

20082009
Beiträge: 116
Registriert: So 5. Okt 2008, 09:58
Kontaktdaten:

Re: Absolute interne URLs für Newsletter

Beitrag von 20082009 » Do 29. Apr 2010, 14:47

Hallo zusammen,
folgendes Problem:
Contenido 4.8.12.
Ich habe einen HTML Newsletter erstellt und im Layout die kompletten Pfade zu den enthaltenen Bildern angegeben.
Wenn ich nun ein Bild über den wysiwyg editor einfüge kommt im Quelltext auch der komplette Pfad. Wenn ich den Newsletter über Outlook erhalte ist auch alles richtig dargestellt.

Sende ich einen NL an eine ...@web.de Mailsadresse sieht man die Bilder im Layout mit der kompletten Pfadangabe wie gewünscht. Die Bilder die im Content eingefügt wurden erscheinen nur mit einem "X" und im Quelltext ist auch der Pfad abgeschnitten worden.

Richtiger Pfad:
http://www.let-verlag.com/cms/upload/ne ... r/kopf.jpg
Pfad bei web.de:
upload/newsletter/kopf.jpg

Klicke ich bei web.de auf Bild anzeigen kommt dieser Pfad:
https://freemailng5401.web.de:443/onlin ... r/kopf.jpg

Warum wird der erste Teil abgeschnitten? und warum nur bei den Bildern die ich über den Editor eingebe?

Für Hilfe wäre ich sehr dankbar.

Beste Grüße

DiMiZu
Beiträge: 68
Registriert: Sa 8. Okt 2005, 12:49
Kontaktdaten:

Re: Absolute interne URLs für Newsletter

Beitrag von DiMiZu » Do 29. Apr 2010, 15:09

Bist du sicher, dass auch nach dem Verlassen des Wysiwyg Editors im quelltext der komplette Pfad steht? Ich tippe (bin mir da ziemlich sicher!), du hast das gleiche Problem wie ich. Nach dem Speichern mit dem Editor (ja genau erst nachdem du den grünen Haken angeklickst hast oder mit dem blauen Symbol aktualisiert hast!) steht im Quelltext der relative Pfad und im head das base Tag, wegen der Contenido internen URL Konvertierung. Leider können scheinbar nicht alle Webmailer mit dem base-Tag umgehen (Outlook kann das), darum das Problem mit dem falschen Pfad nur bei den Bildern die du über den Editor eingegeben hast. Zu umgehen wie xmurrix sagt oder meine sehr unsaubere Lösung.

Grüße

20082009
Beiträge: 116
Registriert: So 5. Okt 2008, 09:58
Kontaktdaten:

Re: Absolute interne URLs für Newsletter

Beitrag von 20082009 » Do 29. Apr 2010, 15:21

Hi,
die Änderungen in
contenido/scripts/con_tiny.js und contenido\external\wysiwyg\tinymce3\tinymce.tpl.html aus dem patch habe ich vorgenommen.
Der Pfad lautet aber weiterhin:
upload/newsletter/kopf.jpg
Ich gehe davon aus, dass die meisten Webmailer und Outlook dann auf den Base Href zurückgreifen.
Allerdings web.de nicht.
Wie bekomme ich denn jetzt den genaue Pfad in den Quellcode?

Wenn ich im Editor auf den "html-Button" klicke wird mir der richtige Pfad angezeigt.
Hier ist doch dann "nur" noch ein Problem mit der Übergabe? Oder?
Brauche echt hier Hilfe.

Gruß

DiMiZu
Beiträge: 68
Registriert: Sa 8. Okt 2005, 12:49
Kontaktdaten:

Re: Absolute interne URLs für Newsletter

Beitrag von DiMiZu » Do 29. Apr 2010, 16:25

a) Patch aus dem verlinkten Beitrag http://forum.contenido.org/viewtopic.ph ... ymce+pfade installieren
b) Erinnere mich leider nicht mehr ob ich auch http://forum.contenido.org/viewtopic.ph ... rl#p135982 gemacht habe
c) meine Änderungen anbringen > dadurch wird die URL Konvertierung unterbunden, wenn in einem Link "http" drin steht.

20082009
Beiträge: 116
Registriert: So 5. Okt 2008, 09:58
Kontaktdaten:

Re: Absolute interne URLs für Newsletter

Beitrag von 20082009 » Do 29. Apr 2010, 16:54

a und b habe ich bereits erledigt.
Die Änderungen in den beiden Dateien habe ich auch gemacht. noch kein Erfolg. Hab ich was übersehen?
Zuletzt geändert von 20082009 am Do 29. Apr 2010, 16:59, insgesamt 1-mal geändert.


20082009
Beiträge: 116
Registriert: So 5. Okt 2008, 09:58
Kontaktdaten:

Re: Absolute interne URLs für Newsletter

Beitrag von 20082009 » Do 29. Apr 2010, 17:05

Danke erst mal für deine Hilfe...


folgendes habe ich jetzt nochmal erledigT:

- Patch runtergeladen
- deine Änderungen eingetragen
- contenido/includes/include.upl_files_overview.php angepasst
- alles in die Verzeichnisse überspielt

20082009
Beiträge: 116
Registriert: So 5. Okt 2008, 09:58
Kontaktdaten:

Re: Absolute interne URLs für Newsletter

Beitrag von 20082009 » Fr 30. Apr 2010, 16:59

hat keiner eine Lösung ?
ich kann auch den Pfad bis zum Verzeichnis fest in einer Datei eingeben.

lunsen_de
Beiträge: 299
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Re: Absolute interne URLs für Newsletter

Beitrag von lunsen_de » Do 3. Nov 2011, 09:07

Hallo, es muss doch mittlerweile einen Lösungsansatz dafür geben (hoffe ich).

Ausgerechnet der Kunde selbst hat einen E-Mail-Client, der die Bilder im Newsletter nicht anzeigt.

Ich verwende 4.8.15 und habe jetzt (mehrfach) die Anleitungen (oben) durchgeführt, leider ohne Erfolg. Die Newsletter-Mails kommen immer mit relativen Links an (Base + href können eben nicht alle Clients).

Ich hoffe hier Hilfe zu finden.

Zur Not wäre auch als Lösung denkbar die Domain fest irgenwo einzusetzen (aber wo). Besser wäre sicher die Umwandlung auszuhebeln, leider ziehen die Änderen in diesem Thread bei 4.8.15 nicht.

Gruß lunsen_de

Gesperrt