Backend-Ansicht übernimmt CSS vom Layout

Gesperrt
moeman
Beiträge: 37
Registriert: Fr 18. Nov 2011, 13:08
Kontaktdaten:

Backend-Ansicht übernimmt CSS vom Layout

Beitrag von moeman » Mo 29. Okt 2012, 07:30

Hallo Community,

ich habe gerade ein seltsames Problem und weiß nicht wie es dazu kommt. Ich habe per CSS Hintergrundbilder für Links im Content definiert und bekomme sie nun auch im Backend an der Stelle an der man den Editor auswählt angezeigt. So weit so komisch, beim klick auf den grünen Pfleil oder den weissen Stift passiert nun leider auch nichts mehr.

CSS:

Code: Alles auswählen

#content_left1 a{
	float:right;
	padding-left:20px;
	margin-top:10px;
	color:#0099F0;
	font-weight:bold;
	text-decoration:none;
	background-image: url(../img/teaser_link.png);
	background-repeat:no-repeat;
	background-position:0 3px;
	}
Frontend-Ansicht:

Bild


Backend-Ansicht:

Bild


Kann sich das irgendwer erklären bzw. hat jemand Erfahrung damit oder nen Tipp wie ich das beheben kann??

Danke und Gruß,
Mario

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Backend-Ansicht übernimmt CSS vom Layout

Beitrag von Spider IT » Mo 29. Okt 2012, 12:55

Hallo Mario,

die Ansicht kannst du ganz einfach wieder zurückstellen:

Code: Alles auswählen

.CMS_LINK_EDIT,
.CMS_LINK_SAVE {
    float: none !important;
    margin: 0px !important;
    padding: 0px !important;
    background-image: none !important;
    border: 0px none !important;
}
Dass die Teile nicht mehr funktionieren kann nicht am CSS liegen, hast du evtl. auch JavaScript in der Seite?

Gruß
René

moeman
Beiträge: 37
Registriert: Fr 18. Nov 2011, 13:08
Kontaktdaten:

Re: Backend-Ansicht übernimmt CSS vom Layout

Beitrag von moeman » Mo 29. Okt 2012, 19:34

Hallo René,

danke für Deine Antwort. Kannst Du mir noch sagen wo ich den Code reinpacke? Steh irgendwie auf dem Schlauch :)
Und ja, ich habe ein Javascript laufen > den bxSlider, mit dem ich auf anderen Seiten aber bisher nicht dieses Problem habe...Habe es eben testweise rausgenommen, aber die Problematik bleibt bestehen :?

Gruß Mario

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Backend-Ansicht übernimmt CSS vom Layout

Beitrag von Spider IT » Mo 29. Okt 2012, 20:35

Hallo Mario,

der von mir gepostete Code ist CSS-Code, der kommt mit ins Stylesheet hinein.
Dabei ist es egal ob am Anfang oder Ende, denn die zusätzlichen Angaben !important bestimmen, dass diese Angaben Vorrang haben.

Es kann natürlich auch sein, dass dein HTML-Code nicht valide ist und deshalb der Javascript-Code von Contenido nicht greift.
Prüf mal insbesondere auf nicht geschlossenen Bereiche.
Ein gutes Hilfsmittel dabei ist das Firefox Addon "Html Validator".
Damit siehst du aber auch gleich, dass das Backend von Contenido selbst schon fehlerbehaftet ist.
Prüf also zuerst mal die Seite im Frontend damit.

Gruß
René

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

Re: Backend-Ansicht übernimmt CSS vom Layout

Beitrag von xmurrix » Mo 29. Okt 2012, 21:06

Hallo moeman,

mit der CSS-Angabe:

Code: Alles auswählen

#content_left1 a {
...
}
werden halt alle Links innerhalb vom Container content_left1 auch die Links zum Editieren der Inhalte im Backend.

Auf der sichereren Seite bist, du, wenn du die Formatangabe mehr spezifizierst, z. B. mit einer CSS-Klasse für die Links, z. B.

Code: Alles auswählen

#content_left1 a.teaser {
...
}
Dann wirkt sich das nur auf spezielle Links aus, nicht auf alle.

So ist es mehr Modular und macht auch keine Probleme, wenn z. B. später der Kunde andere Links darin haben möchte...

Inhalte, die im Frontend floaten, können im Backend unter Umständen ein anderes Layout erzeugen und da sollte man auch bei den Formatierungen etwas obacht geben, so, dass sich CSS-Angaben nicht negativ auf die Edit-Buttons auswirkt.

Du musst bedenken, dass ein CMS-Typ im Backend beim Editieren zusätzliche Elemente bekommt, aus

Code: Alles auswählen

CMS_HTML[1]
wird im Backend beim Editieren, etwas ähnliches wie

Code: Alles auswählen

<div id="HTML_2_1" contenteditable="false">
    <!-- ... hier ist der inhalt von CMS_HTML[1] ... -->
</div>
<a id="m2" class="CMS_HTML_1_EDIT CMS_LINK_EDIT" ...><img ...></a><!-- .. link zum editieren-->
<a id="m4" class="CMS_HTML_1_SAVE CMS_LINK_SAVE" ...><img ...></a><!-- .. link zum speichern -->
Natürlich ist auch der Vorschlag von Spider IT eine andere Möglichkeit, das Problem zu lösen...

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.

moeman
Beiträge: 37
Registriert: Fr 18. Nov 2011, 13:08
Kontaktdaten:

Re: Backend-Ansicht übernimmt CSS vom Layout

Beitrag von moeman » Mi 31. Okt 2012, 13:28

Danke für Eure Mühe!

@René: Das hatte ich natürlich direkt versucht > ohne Erfolg :( Aber bevor ich jetzt anfange den Code auseinanderzunehmen (bin nicht so fit im Programmieren) versuche ich mich an xmurrix Lösungsansatz ;)
@xmurrix & all: Hört sich alles gut und schlüssig an, aber wie weise ich dem Link denn dann die Klasse zu? Im Editor gehts schonmal nicht, oder muss ich dazu im System noch irgendwas einstellen?

Gruß Mario

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

Re: Backend-Ansicht übernimmt CSS vom Layout

Beitrag von xmurrix » Mi 31. Okt 2012, 23:51

Mit folgenden Mandanteneinstellungen sollte es klappen:

Code: Alles auswählen

Typ        Name                       Wert
tinymce    advlink_styles             foobar;foobar2;foobar3
tinymce    extended_valid_elements    *[*]
tinymce    valid_elements             *[*]
Dabei ist der Wert von advlink_styles eine mit Semikolon separierte Liste von CSS-Klassennamen und bei extended_valid_elements sowie valid_elements wurde der einfachhalthalber *[*] gewählt (ansonsten Entfernt die Bereinigungsfunktion des Editors alle Elemente/Attribute, die nicht erlaubt sind).

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.

moeman
Beiträge: 37
Registriert: Fr 18. Nov 2011, 13:08
Kontaktdaten:

Re: Backend-Ansicht übernimmt CSS vom Layout

Beitrag von moeman » Mo 5. Nov 2012, 14:10

Ich bin wohl irgendwie zu blöd :(

Wenn ich die Mandanteneinstellungen vornehme, bekomme ich im tinyMCE lediglich die foobar-Klassen zu Auswahl. Auch wenn ich die CSS-Linkeigenschaften mit der Klasse "foobar" versehe passiert nichts.
Ich steh aufm Bahnhof...vllt. kann mich jemand abholn ;)

Gruß Mario

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Backend-Ansicht übernimmt CSS vom Layout

Beitrag von Spider IT » Mo 5. Nov 2012, 15:06

Hallo Mario,

die Angaben "foobar" usw. musst du durch die Klassen ersetzen, welche du in dein Stylesheet definiert hast.

Gruß
René

moeman
Beiträge: 37
Registriert: Fr 18. Nov 2011, 13:08
Kontaktdaten:

Re: Backend-Ansicht übernimmt CSS vom Layout

Beitrag von moeman » Mo 5. Nov 2012, 18:08

Hallo René,

ja, dass hatte ich auch schon gemacht > ohne Erfolg. Jetzt habe ich es eben nochmal gemacht, mit dem selben Ergebnis wie vorher und hab mir dann aber im tinyMCE mal den Quelltext angeschaut. Beim Link steht jetzt zwar class aber "undefined" statt meiner vorher bereits im Auswahlfenster des tinyMCE vorhandenen Klasse "teaserlink". Wenn ich dann im HTML-Modus "undefined" mit "teaserlink" ersetze funktionierts. Sauber ist das aber netürlich nicht wirklich ;)

Gruß Mario

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

Re: Backend-Ansicht übernimmt CSS vom Layout

Beitrag von xmurrix » Di 6. Nov 2012, 00:27

Hallo moeman,

das könnte ein Bug sein, vemutlich im TinyMCE oder im advlink Plugin von TinyMCE .

Nachtrag:
Halt, ich habe es dir falsch beschrieben, du musst die Mandaneneinstellung folgendermaßen setzen:

Code: Alles auswählen

Typ        Name                       Wert
tinymce    advlink_styles             Style_Foobar=foobar;Style_Foobar2=foobar2;Style_Foobar3=foobar3
Die verschiedenen CSS-Stile immer mit Parameter = Wert Paaren angeben, z. B. Style_Foobar=foobar ("Style_Foobar" ist der anzuzeigende Text im Dropdown und "foobar" die zu setzende CSS-Klasse).

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.

moeman
Beiträge: 37
Registriert: Fr 18. Nov 2011, 13:08
Kontaktdaten:

Re: Backend-Ansicht übernimmt CSS vom Layout

Beitrag von moeman » Di 6. Nov 2012, 13:08

Suuper, vielen Dank! Nu klappts und ich bin happy wieder was nützliches gelernt zu haben ;)

Merci beaucoup....Gruß Mario

Gesperrt