Kleines Problem mit Menüleiste

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
Holger
Site Admin
Posts: 3470
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany

Re: Kleines Problem mit Menüleiste

Post by Holger » Sun Jan 25, 2009 10:59 pm

Gert, hier geht es aber nicht um das template.
Wir reden hier doch jetzt vom Content, oder irre ich mich?
EDIT:
Content, weil ich weiter oben schon die Lösung des Problems mittels CMSimple-Scripting im Content gegeben habe:
Holger wrote:Hallo ihr 2,

wenn die Überschrift wie hier
http://www.cmsimple.de/cmsimple/?Hilfe_ ... zeigt_wird
mit CMSimple Scripting ersetzt bzw. entfernt wird, zeigt der FCKeditor beim Editieren den Original - Titel der H1 Überschrift.

Ich hab es eben noch einmal getestet und es funktioniert einwandfrei.

Allerdings habe ich in meiner Konfiguration des Editors auch noch den Schutz der CMSimple-Scripts eingeschaltet:
http://www.cmsimpleforum.com/viewtopic.php?f=7&t=302

Holger
/EDIT

Wie ich in dem von Dir zitierten Beitrag geschrieben habe geht es so mit PHP im Template.
Aber wie soll denn der Editor noch eine Überschrift in seinem Fenster Anzeigen, wenn ich die Überschriften zuvor per preg_replace() entfernt habe?

Ich hatte weiter oben schon gesagt: "Nehmt bitte CMSimple-Scripting" dann zeigt der Editor die ursprüngliche Überschrift an und mäkelt nicht mehr die, natürlich nach preg_replace() nicht mehr vorhandene, Überschrift an.

Ein paar Postings weiter in dem Thread steht auch die Lösung des Problems (wie auch im Manual):

Code: Select all

#CMSimple $output=preg_replace('/('.chr(60).'h[1-3]'.chr(62).').*.('.chr(60).'\/h[1-3]'.chr(62).')/i', '\\1\\2', $output);#
Holger

Gert
Posts: 3078
Joined: Fri May 30, 2008 4:53 pm
Location: Berlin
Contact:

Re: Kleines Problem mit Menüleiste

Post by Gert » Sun Jan 25, 2009 11:08 pm

Das CMSimple Scripting muss ich auf jede Seite schreiben, genau das will ich nicht, auch Jürgen nicht. Als alternativer Content-Aufruf im Template wirkt diese Codezeile automatisch auf allen Seiten. Dann muss sich auch jemand anders, für den ich CMSimple einrichte, nicht mit CMSimple Scripting befassen. h1-h3 machen die Seiten und werden im Inhalt nicht angezeigt, h4-h6 sind zur Strukturierung der Inhalte da.

h1-h3 werden nur im Bearbeitungsmodus angezeigt, im Ansichtsmodus nicht und auch nicht im ausgeloggten Zustand. Genau so soll es sein, und genau so hat es bisher auch funktioniert, und so funktioniert es auch mit dem oEdit. Mit der neuen fckeditor.php 2.2.1 werden aber h1-h3 auch im Bearbeitungsmodus nicht angezeigt, und wenn ich das dann speichere, ist die Menüstruktur hin, weil die splittende h1 (h2, h3) nicht mehr da ist.

Warum das auskommentierte htmlentities dafür die Ursache ist, kapiere ich auch noch nicht, aber es war definitiv die Ursache des Problems.

Edit: Habe nochmal mit dem openwysiwyg getestet, mit dem funktionierts auch nicht. Der aktuelle Stand ist also:

Mit dem oEdit und dem FCKeditor4cmsimple 2.2.0 beta 4 funktionierts, mit openwysiwyg und FCKeditor 2.2.1 funktionierts nicht. Mehr Editoren für CMSimple habe ich zur Zeit nicht installiert. Jetzt gehe ich aber schlafen.
Gert Ebersbach | CMSimple | Templates - Plugins - Services

Holger
Site Admin
Posts: 3470
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany

Re: Kleines Problem mit Menüleiste

Post by Holger » Sun Jan 25, 2009 11:38 pm

Gert wrote:... das will ich nicht
Genau das ist die Argumentation von meinem, grad fünf Jahre alten, Junior ;) .
Was Du willst und was das System hergibt, sind manchmal eben verschiedene Dinge.
Gert wrote:Das CMSimple Scripting muss ich auf jede Seite schreiben, genau das will ich nicht, auch Jürgen nicht. Als alternativer Content-Aufruf im Template wirkt diese Codezeile automatisch auf allen Seiten. Dann muss sich auch jemand anders, für den ich CMSimple einrichte, nicht mit CMSimple Scripting befassen. h1-h3 machen die Seiten, h4-h6 sind zur Strukturierung der Inhalte da.

h1-h3 werden nur im Bearbeitungsmodus angezeigt, im Ansichtsmodus nicht und auch nicht im ausgeloggten Zustand. Genau so soll es sein, und genau so hat es bisher auch funktioniert, und so funktioniert es auch mit dem oEdit. Mit der neuen fckeditor.php 2.2.1 werden aber h1-h3 auch im Bearbeitungsmodus nicht angezeigt, und wenn ich das dann speichere, ist die Menüstruktur hin, weil die splittende h1 (h2, h3) nicht mehr da ist.

Warum das auskommentierte htmlentities dafür die Ursache ist, kapiere ich auch noch nicht, aber es war definitiv die Ursache des Problems.
Aber warum soll ich mich hier weiter aufregen, Gert :roll: .
Werdet glücklich mit der Lösung, preist aber bitte nicht ein fehlendes htmlentities() in der fckeditor.php als Bug an.

Fazit für alle Mitleser:
Wer keine h1-hx Überschriften auf seiner Seite möchte (was dem Prinzip von CMSimple entspricht), aber trotzdem CMSimple verwenden will und auch noch das dafür vorgesehene CMSimple-Scripting verschmäht, der muss - in Verbindung mit dem FCKeditor, wenn er denn die Fehlermeldung "Fehlende Überschrift" nicht sehen mag - leider auf UTF-8 kodierte Seiten verzichten.

Gert, mich würd' mal interessieren ob Du überhaupt weisst warum es mit htmlentities() in der fckeditor.php nach Deinen Wünschen funktioniert. Ich wette, wenn Du dahinter gekommen bist, wirst Du solche Tipps nicht mehr geben.

Aber sicher funktioniert es so, wie Du es beschreibst...
Und das Ganze bitte jetzt einmal für mich mit einer mehrsprachigen Installation und als zweite Sprache Russisch oder Arabisch.

Holger

Holger
Site Admin
Posts: 3470
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany

Re: Kleines Problem mit Menüleiste

Post by Holger » Sun Jan 25, 2009 11:41 pm

Gert wrote: Edit: Habe nochmal mit dem openwysiwyg getestet, mit dem funktionierts auch nicht.
Scheinbar hat der Autor der openwysiwyg.php auch nachgedacht :mrgreen: .

Das "Manko" kannst Du aber ganz schnell beheben:
Pack' einfach htmlentities() in die openwysiwyg.php. Ich wette es geht dann.

Holger

Gert
Posts: 3078
Joined: Fri May 30, 2008 4:53 pm
Location: Berlin
Contact:

Re: Kleines Problem mit Menüleiste

Post by Gert » Mon Jan 26, 2009 12:26 am

Hallo Holger,
was mich wundert ist, dass Du hier über etwas herziehst, was bei FCKeditor4cmsimple noch vor 2 Monaten Standard war. Und dass Du eine Lösung verteufelst, die Du selbst vor wenigen Monaten hier im Forum vorgeschlagen hast, und die mit Deiner gerade mal 2 Monate alten Modifikation der fckeditor.php nun nicht mehr funktioniert.

So wie ich das sehe sind Content Management Systeme dazu da, dass es der Betreiber einfach hat (nicht unbedingt der Installateur, der hat es aber dem Betreiber einfach zu machen), und wenn das CMS dann auch noch CMSimple heisst, sollte sich der Betreiber, der ja dann die Seiten erstellt, nicht mit Scripting herumschlagen müssen. Ich halte es jedenfalls für sinnvoll, im Menü kurze Menüpunkte zu haben und über dem Inhalt eine etwas längere Überschrift. Ich halte es nicht für sinnvoll, wenn in der breadcrumb-Navigation, im Menü und in der Seitenüberschrift dasselbe steht. Das ist aber der Normalzustand bei CMSimple, und für dieses Problem suche ich nach Lösungen.

Ich bin ja gerne bereit, über Vor- und Nachteile verschiedener Lösungen hier sachlich zu diskutieren, aber Du scheinst heute nicht den besten Tag zu haben und auch keinen Spass zu verstehen. Vielleicht gehts ja andermal besser.

Übrigens, mit htmlentities funktionierts auch im openwysiwyg, da hast Du recht. CMSimple wird ja auf iso-8859-1 voreingestellt ausgeliefert, also gibt es im default-Zustand keine Probleme mit UTF-8. Mit arabisch und russisch habe ich mich zugegeben noch nicht beschäftigt. DIE Lösung für alle wird es wohl nicht geben.

Gelernt habe ich auch wieder was, also was solls, gute Nacht allerseits.
Gert Ebersbach | CMSimple | Templates - Plugins - Services

Jürgen
Posts: 36
Joined: Sun Dec 21, 2008 11:54 am
Location: D - NRW - Essen
Contact:

Re: Kleines Problem mit Menüleiste

Post by Jürgen » Mon Jan 26, 2009 3:53 am

Junge Junge, was hab ich denn hier angerichtet? :shock:

Ist doch kein Grund zu streiten.
Ich habe jetzt beide Versionen ausprobiert, beides funktioniert wie von mir gewünscht.
Das allerdings die Kodierung flöten geht war mir nicht klar und um das zu vermeiden,
habe ich jetzt in jede Seite dieses vorgeschlagene Script eingefügt.

Code: Select all

 #CMSimple $output=preg_replace('/('.chr(60).'h[1-3]'.chr(62).').*.('.chr(60).'\/h[1-3]'.chr(62).')/i', '\\1\\2', $output);#
Ich muss zugeben, das ich im Moment nicht weiss, was der Unterschied bei den beiden Beispielen bedeutet.
Der Unterschied liegt ja in den ('.chr(60) und ('.chr(62).

Code: Select all

#CMSimple $output=preg_replace('/(<h[1-3]).*.(<\/h[1-3])/i', '\\1ContentHeading\\2', $output);#
Was wird da jetzt zusätzlich bzw. nicht "gefiltert"?

Und nun gut´s Nächtle
Last edited by Jürgen on Mon Jan 26, 2009 11:39 am, edited 1 time in total.
carpe diem!
Jürgen

Holger
Site Admin
Posts: 3470
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany

Re: Kleines Problem mit Menüleiste

Post by Holger » Mon Jan 26, 2009 7:51 am

Gert wrote:Hallo Holger,
was mich wundert ist, dass Du hier über etwas herziehst, was bei FCKeditor4cmsimple noch vor 2 Monaten Standard war. Und dass Du eine Lösung verteufelst, die Du selbst vor wenigen Monaten hier im Forum vorgeschlagen hast, und die mit Deiner gerade mal 2 Monate alten Modifikation der fckeditor.php nun nicht mehr funktioniert.
Gert, versteh' es doch bitte, die Geschichte mit den htmlentities() war keine Lösung, sondern vielmehr ein kapitaler Bug, der sich aufgrund
eines damals nicht richtig geprüften Hinweises, eingeschlichen hat.
Es hat Monate gedauert bis wir dahinter gekommen sind warum die Kodierung im Editor flöten ging.
Ob das vor 2 Monaten Standard war oder nicht: Es war nunmal, wie einige User bestätigt haben, ein dummer Fehler der in der Folge große Probleme verursacht hat.

Holger

Gert
Posts: 3078
Joined: Fri May 30, 2008 4:53 pm
Location: Berlin
Contact:

Re: Kleines Problem mit Menüleiste

Post by Gert » Mon Jan 26, 2009 9:43 am

Hallo Jürgen, mach Dir mal keine Gedanken, wenn Holger und ich aneinandergeraten. Ist nicht das erste mal, manchmal kommt sogar "was guts bei raus" ;) .

Du hast jetzt ein <h1></h1> im Quelltext Deiner Seiten. Wenns Dich nicht stört isses egal, ich mag solche Codefragmente eher nicht. Wenn du statt

Code: Select all

... ,'\\1\\2', ...   =>   ... ,'', ... 
schreibst, ist das weg, jedenfalls bei mir funktionierts ohne bekannte Nebenwirkungen. Der Code ist ja ursprünglich zum Ersetzen der Seitenüberschrift gedacht, nicht zum Entfernen.

Auf Deiner Seite ist übrigens iso-8859-1 definiert, Du solltest also mit der "bequemen" Variante keine Probleme haben.

Hallo Holger, gut geschlafen? Ich nicht, war dann so müde, dass ich vergessen hatte, dass man einen Windows-PC mit dem Startbutton ausmachen muss, also ist der Computer an- und ich davor sitzengeblieben.

Wie du Dir vielleicht denken kannst, komme ich, wenn ich nachts grübele, auf seltsame Ideen ;) . Was hälst Du von htmlspecialchars an der diskutierten Stelle? Das ist nicht ganz so rabiat, maskiert nur ein paar coderelevante Zeichen und sollte im Zusammenhang mit russisch, arabisch und UTF-8 weniger problematisch sein. Für die Darstellung der h1-h3 im Bearbeitungsmodus reichts aus.

Und sei bitte nachsichtig mit mir, wenn das wieder eine Idee ist, die Du schon vor langer, langer Zeit durchdacht und verworfen hast. Ist nur eine kurz getestete Idee, noch nicht zu Ende gedacht. Mit UTF-8 bin ich noch nicht durch und eine weitere Fremdsprache ausser Computer-Englisch lerne ich alter Sack auch nicht mehr, so dass ich mit iso-8859-1 erstmal ganz gut hinkomme.

Ach ja, das lol, das Dich gestern auf die Palme gebracht hat, sollte den Hinweis eigentlich entschärfen, nicht verschärfen. Da habe ich wohl den falschen Smiley gewählt :oops: . Der hier ;) wäre wohl besser gewesen ...
Gert Ebersbach | CMSimple | Templates - Plugins - Services

Jürgen
Posts: 36
Joined: Sun Dec 21, 2008 11:54 am
Location: D - NRW - Essen
Contact:

Re: Kleines Problem mit Menüleiste

Post by Jürgen » Mon Jan 26, 2009 11:38 am

Jürgen wrote: Ich muss zugeben, das ich im Moment nicht weiss, was der Unterschied bei den beiden Beispielen bedeutet.
Der Unterschied liegt ja in den ('.chr(60) und ('.chr(62).

Code: Select all

#CMSimple $output=preg_replace('/('.chr(60).'h[1-3]'.chr(62).').*.('.chr(60).'\/h[1-3]'.chr(62).')/i', '\\1\\2', $output);#
Was wird da jetzt zusätzlich bzw. nicht "gefiltert"?
Ich würde das Script ganz gerne verstehen, daher frage ich lieber nochmal nach ;)

H1 bis H3 wird ersetzt, chr(60) und chr(62) könnte AsciiChar < und > sein .
Ist das richtig?
carpe diem!
Jürgen

Gert
Posts: 3078
Joined: Fri May 30, 2008 4:53 pm
Location: Berlin
Contact:

Re: Kleines Problem mit Menüleiste

Post by Gert » Mon Jan 26, 2009 12:52 pm

Bin selber gerade beim rumspielen und habe mir mal folgende php-Datei gemacht:

Code: Select all

<?php 
echo chr(60).'h1'.chr(62).'Headline h1'.chr(60).'/h1'.chr(62)."\n"; 
echo '<h2>Headline h2</h2>'; 
?>
Wenn man die aufruft und sich mal die Ausgabe und den erzeugten Quelltext ansieht, versteht man schon mehr. Bei beiden Zeilen kommt das gleiche raus.

Wann, warum und an welcher Stelle man chr() anwenden sollte ist mir aber auch noch nicht klar, bin grad bei der Buchhaltung (Abschluss 2008 :roll: ) und surfe zwischendurch ein wenig herum, zur Entspannung und zur Weiterbildung. Vielleicht kann uns das ja dieser oder jener php-Experte erklären und uns somit ein paar Irrwege im Internet ersparen.
Gert Ebersbach | CMSimple | Templates - Plugins - Services

Post Reply