Problem mit CMS_TEXT und CMS_HTML bei Version 4.3.2b

Snoopy
Beiträge: 239
Registriert: Mo 15. Sep 2003, 18:45
Kontaktdaten:

Problem mit CMS_TEXT und CMS_HTML bei Version 4.3.2b

Beitrag von Snoopy » Sa 20. Sep 2003, 23:04

Ich habe zwei Probleme festgestellt, vielleicht hat jemand einen Tip.

Bei der Eingabe von Fliesstext sind "_" als Zeichen nicht möglich, auch wenn ich ein Kommentar Tag wie
<!---test---!> im Text eingebe wird es nicht dargestellt.

2. Im Spaw Editor wird beim aufruf immer &nbsp; als erstes Zeichen automatisch Eingefügt.


weiss jemand Rat ?

chobbert
Beiträge: 371
Registriert: Mo 14. Jul 2003, 10:14
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von chobbert » So 21. Sep 2003, 12:20

Hallo,

das Problem mit dem Unterstrich kann ich nicht nachvollziehen, der wird bei mir einwandfrei dargestellt. Gleiches gilt für das &nbsp; am Anfang des Textes. Welchen Browser verwendest Du denn? Tritt das Problem bei CMS_HTML oder CMS_TEXT auf?

Das Kommentare nicht geschrieben werden können ist klar, denn die eckigen Klammern werden in Ihre HTML-Entities umgesetzt (< und >), so daß man die Kommentare im Browser lesen kann. Will man einen versteckten Kommentar schreiben, muß man in den HTML-Modus wechseln.


Schöne Grüße

Robert

Snoopy
Beiträge: 239
Registriert: Mo 15. Sep 2003, 18:45
Kontaktdaten:

Beitrag von Snoopy » So 21. Sep 2003, 17:27

chobbert hat geschrieben:Hallo,

das Problem mit dem Unterstrich kann ich nicht nachvollziehen, der wird bei mir einwandfrei dargestellt. Gleiches gilt für das &nbsp; am Anfang des Textes. Welchen Browser verwendest Du denn? Tritt das Problem bei CMS_HTML oder CMS_TEXT auf?

Das Kommentare nicht geschrieben werden können ist klar, denn die eckigen Klammern werden in Ihre HTML-Entities umgesetzt (< und >), so daß man die Kommentare im Browser lesen kann. Will man einen versteckten Kommentar schreiben, muß man in den HTML-Modus wechseln.


Schöne Grüße

Robert
Hallo,
danke erstmal für Deine Antwort. Zu Deiner Rückfrage:
1. Ich habe in einem CMS_TEXT abschnitt folgenden Text eingegeben. Das mit dem Unterstrich
war ein Tippfehler.

----Text Anfang----
Entscheidend sind die Einfügungen nach folgendem Muster:

<!—hilfsnavi—>
CMS_CONTAINER[2]
<!—hilfsnavi ende—>

Sie signalisieren, dass an dieser Stelle entweder variable
Daten eingefügt werden oder vom CMS kontrollierte Aktionen stattfinden.
----Text Ende-----

Im Frontend sind dann die Kommentar tags nicht mehr zu sehen. Das gleiche passiert, wenn
ich Artikel eingebe die Zitate beinhalten "text". Dabei kann passieren, dass die ganze
Seite nicht mehr aufrufbar ist. Erst wenn ich dann im Modul selbst die CMS_VAR Nummer
abändere ist die Seite wieder editierbar. Ich muss dann in der DB die Überhänge
löschen. Danach kann ich der CMS_VAR die alte Nummer wieder zuweisen.

Ich dann mal einfach im Test <b>bla bla</b> eingegeben und siehe da bla bla war Fett
zu sehen.
Ergo es werden also html tags im CMS_TEXT interpretiert. Ich hoffe nicht das ist im
sinne der Erfinder.

2. Ich benutze IE6.0 SP1, contenido 4.3.2 mit SPAW. Wenn ich in ein neues CMS_HTML Content
einpflegen will ist das erste Zeichen schon in Spaw enthalten nämlich ein &nbsp; (Leerzeichen).


Grund für die ganze Sache ist ein Modul was ich geschrieben habe in dem ich 10 Textfelder
mit Bild und Ankern benutze. Das Modul funktionert super. Ich kann die Pos. der Bilder im Fliesstext über
INPUT MODUL bestimmen und die Anker werden nur gezeigt wenn auch die nachfolgenden Texte befüllt
sind. ---------- vielleicht ist der CODE meines Moduls ja scheisse.

Zum schluss noch eine andere Frage, wie kann ich eine externe php Datei aus einem Modul aufrufen,
und es dann innerhalb des Moduls starten. Kleiner Tip wäre super.
hier der link:

http://contenido.de/forum/viewtopic.php?t=1851
vielen Dank im vorraus für die Unterstützung.

chobbert
Beiträge: 371
Registriert: Mo 14. Jul 2003, 10:14
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von chobbert » So 21. Sep 2003, 20:06

Hallo,

in der Tat, der Inhalt von CMS_TEXT wird nicht gefiltert, eventuell vorkommende HTML-Tags ausgeführt. Allerdings kann ich Dir nicht sagen, ob das nun Absicht ist, weil in letzter Zeit anscheinend Updates in diesem Bereich durchgeführt wurden (vgl. http://contenido.de/forum/viewtopic.php?t=1661). Ich muß jedenfalls den Inhalt von CMS_TEXT erst mit urldecode() dekodieren. Mit neueren Updates scheint das nicht notwendig zu sein, vielleicht hat sich hier auch das Problem mit der Behandlung von eckigen Klammern eingeschlichen.

Wenigstens Deine letzte Frage lässt sich aber leicht beantworten: Nimm' include() bzw. require(). Ggf. kannst Du den Namen des aufzurufenden Skripts in einer CMS_VAR-Variablen speichern, dann brauchst Du bei der Modul-Konfiguration nur noch den Namen der Datei angeben oder aus einer Auswahlliste (Verzeichnis auslesen...) selektieren.


Schöne Grüße

Robert

Arno Simon
Beiträge: 158
Registriert: Di 2. Sep 2003, 18:10
Kontaktdaten:

Beitrag von Arno Simon » So 21. Sep 2003, 20:43

.....
Zuletzt geändert von Arno Simon am So 21. Sep 2003, 20:49, insgesamt 1-mal geändert.

Arno Simon
Beiträge: 158
Registriert: Di 2. Sep 2003, 18:10
Kontaktdaten:

Beitrag von Arno Simon » So 21. Sep 2003, 20:49

MEA CULPA... Der vorstehende Beitrag ist aufgrund von etwas zu vehementen Versuchen ein Programm zu stoppen, das nicht laufen sollte, entstanden. Bitte ignorieren, sofern ich ihn nicht gelöscht bekomme...
chobbert hat geschrieben:..... eventuell vorkommende HTML-Tags ausgeführt....
IMHO liegt das in der Natur der Sache, denn die HTML-Tags, welche im Klartext eingetragen werden, werden vom Browser auch so ausgeführt, wie sie eingetragen werden.

Um nun die HTML-Tags als solche nicht wirksam werden zu lassen, empfiehlt es sich

Kleiner (<) als <

und

Größer (>) als >

einzugeben (vgl. http://selfhtml.teamone.de/html/referen ... annte_html ), damit das HTML nicht ausgeführt wird. Sofern nicht noch verschiedene Umwandlungen (ich schätze mal das die Verwendung von WebGrab dazu führen wird) vorgenommen werden, sollte das Ergebniss dem gewünschten entsprechen.

Gruß

Arno

chobbert
Beiträge: 371
Registriert: Mo 14. Jul 2003, 10:14
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von chobbert » So 21. Sep 2003, 21:03

Hallo,
Arno Simon hat geschrieben: IMHO liegt das in der Natur der Sache, denn die HTML-Tags, welche im Klartext eingetragen werden, werden vom Browser auch so ausgeführt, wie sie eingetragen werden.
Ist mir klar, allerdings hatte ich bislang erwartet, daß CMS_TEXT vor allem dazu dient, reine Textinformationen einzupflegen und dem Redakteur gerade hier die Möglichkeit zu entziehen, Textformatierungen vornehmen zu können. "Snoopy" ist wohl auch davon ausgegangen.
Snoopy hat geschrieben:Ich hoffe nicht das ist im sinne der Erfinder.
Natürlich kann man > und < verwenden, allerdings kann man dann auch gleich auf den Editor zurückgreifen.


Schönen Abend noch!

Robert

Arno Simon
Beiträge: 158
Registriert: Di 2. Sep 2003, 18:10
Kontaktdaten:

Beitrag von Arno Simon » So 21. Sep 2003, 21:42

chobbert hat geschrieben:Ist mir klar, allerdings hatte ich bislang erwartet, daß CMS_TEXT vor allem dazu dient, reine Textinformationen einzupflegen und dem Redakteur gerade hier die Möglichkeit zu entziehen, Textformatierungen vornehmen zu können. "Snoopy" ist wohl auch davon ausgegangen.
Das hieße also, das es sich hierbei letztlich um eine Bug handelt, denn bereits Cont. hätte die < und >-Zeichen beim Eintragen in die DB in < und > umwandeln sollen (und beim Editieren wieder zurück!)?

Klar, währe machbar .... Aber.... Spätestens dort, wo WebGrab (z.B. um ein Forum einzubinden) im Einsatz ist, fällt die ganze Kiste wieder über die Bananenschale (um's mal etwas verklausuliert zu sagen ;) ), weil dabei - fürchte ich - wieder normale HTML-Tags über die Leitung gehen könnten....

Gruß

Arno

Snoopy
Beiträge: 239
Registriert: Mo 15. Sep 2003, 18:45
Kontaktdaten:

Beitrag von Snoopy » Mo 22. Sep 2003, 11:15

chobbert hat geschrieben:Hallo,

in der Tat, der Inhalt von CMS_TEXT wird nicht gefiltert, eventuell vorkommende HTML-Tags ausgeführt. Allerdings kann ich Dir nicht sagen, ob das nun Absicht ist, weil in letzter Zeit anscheinend Updates in diesem Bereich durchgeführt wurden (vgl. http://contenido.de/forum/viewtopic.php?t=1661). Ich muß jedenfalls den Inhalt von CMS_TEXT erst mit urldecode() dekodieren. Mit neueren Updates scheint das nicht notwendig zu sein, vielleicht hat sich hier auch das Problem mit der Behandlung von eckigen Klammern eingeschlichen.

Wenigstens Deine letzte Frage lässt sich aber leicht beantworten: Nimm' include() bzw. require(). Ggf. kannst Du den Namen des aufzurufenden Skripts in einer CMS_VAR-Variablen speichern, dann brauchst Du bei der Modul-Konfiguration nur noch den Namen der Datei angeben oder aus einer Auswahlliste (Verzeichnis auslesen...) selektieren.


Schöne Grüße

Robert

Hallo Robert,

Danke für die Unterstützung, das Problem mit CMS_TEXT ist wie gesagt nur durch Zufall aufgetreten,
Da die Redakteure mein Modul mit copy und paste mit Text befüllen. aber nochmal zu den extenen PHP Files
Ich habe deinen Tip Probiert, und habe in ein Modul folgenden Code aus OUTPUT eingebaut:

Code: Alles auswählen

<?
//Frontendpfad ermitteln 
$query = "SELECT htmlpath FROM ".$cfg["tab"]["clients"]." WHERE idclient='".$client."'"; 
$db->query($query); 
$db->next_record(); 
$frontendpath = $db->f("htmlpath");

 require($frontendpath."color.php");

?>
Baue ich den Quellcode der Datei color.php direkt in den OUTPUT ein wird die Datei korrekt wiedergegeben.
Ich habe auch anstatt require include getestet. geht auch nicht.

Dann habe ich gedacht man kann es ja mit Webgab machen, der bei mir herforragend funktioniert, aber eben nicht,
wenn ich eine Page vom gleichen Server grabben will, in diesem Fall der Localhost.
gibt es einen Trick für Webgrab
Gruss Peter (Snoopy)

chobbert
Beiträge: 371
Registriert: Mo 14. Jul 2003, 10:14
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von chobbert » Mo 22. Sep 2003, 11:30

Hallo,

du brauchst den Wert frontendpathstatt htmlpath aus der clients-Tabelle zum Ermitteln des betreffenden Verzeichnisses auf dem Server.


Schöne Grüße
Robert

Snoopy
Beiträge: 239
Registriert: Mo 15. Sep 2003, 18:45
Kontaktdaten:

Beitrag von Snoopy » Mo 22. Sep 2003, 11:50

chobbert hat geschrieben:Hallo,

du brauchst den Wert frontendpathstatt htmlpath aus der clients-Tabelle zum Ermitteln des betreffenden Verzeichnisses auf dem Server.


Schöne Grüße
Robert
Danke :lol: :lol: klappt super, !!!!

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Mo 22. Sep 2003, 15:50

Und als Ergänzung zum Punkt 2. (Erstes Zeichen in CMS_... ist ein geschütztes Leerzeichen):

Ja, ist bei Design so (steht in der con_type). Ich nehme an, da ansonsten das Feld komplett leer wäre und damit u.U. nicht dargestellt werden würde.

Muss man wohl mit Leben...

Gruß
HerrB

Snoopy
Beiträge: 239
Registriert: Mo 15. Sep 2003, 18:45
Kontaktdaten:

Beitrag von Snoopy » Mo 22. Sep 2003, 18:42

chobbert hat geschrieben:Hallo,

du brauchst den Wert frontendpathstatt htmlpath aus der clients-Tabelle zum Ermitteln des betreffenden Verzeichnisses auf dem Server.


Schöne Grüße
Robert

Hallo Robert,

Eine Frage noch,
Das mit dem einbinden der externen PHP Files klappt ja super, aber wenn diese Datei nun nach auf ein
eigenes css zugreift und eine zusätzliche php datei benötigt wird es schwierig ?

Ich habe folgendes nun getan,
Ich habe das Verzeichniss mit den Files in contenido/includes/external eingetragen.
in der config.php habe ich die Pfade eingetagen

Code: Alles auswählen

$cfg['path']['calendar'] 		= 'C:/Programme/Apache Group/Apache2/htdocs/cms/contenido/external/calendar/';
$cfg['path']['calendar_html']           = 'http://127.0.0.1/cms/contenido/external/calendar/';
in dem Modul steht der code:

Code: Alles auswählen

require($cfg['path']['calendar']."jax_calendar.php");
Die Ausgabe klappt, selbst die css wird mit eingelesen, nur wenn jetzt auf einen link (z.B. einen Monat weiter klicke lande
ich auf der Startseite.

Dieser Kalender included noch andere Files, es gibt dor eine globals.inc.php
auszug:

Code: Alles auswählen

if (!empty( $_SERVER["PHP_SELF"] )) 
  $PHP_SELF = $auth->url();

if (!empty( $_SERVER["SCRIPT_NAME"] ) ) 
  { $SCRIPT_NAME = $_SERVER["SCRIPT_NAME"]; }

if (!empty( $_SERVER["SERVER_NAME"] ) ) 
  { $SERVER_NAME = $_SERVER["SERVER_NAME"]; }
  
if (!empty( $_SERVER["REMOTE_ADDR"] ) ) 
  { $REMOTE_ADDR = $_SERVER["REMOTE_ADDR"]; }
dort habe ich $PHP_SELF = PHP_SELF; durch $PHP_SELF = $auth->url(); ersetzt.
Ich kann in den Dateien navigieren, aber die Url wird immer länger und funktionieren
dann nicht mehr ??????

chobbert
Beiträge: 371
Registriert: Mo 14. Jul 2003, 10:14
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von chobbert » Mo 22. Sep 2003, 19:42

Halllo,

ich kenn ja nicht den kompletten Code Deines Moduls und des Kalenders, aber zwei Sachen kann ich anmerken:

1. include-Pfade
Snoopy hat geschrieben: Dieser Kalender included noch andere Files, es gibt dor eine globals.inc.php
auszug:
Denk daran, daß die include-Pfade immer relativ zu dem Skript stehen, das als erstes aufgerufen wurde, also hier die front_content.php von Contenido. Falls der Kalender relative includes verwendet, findet PHP sie unter Umständen nicht. Überprüfe ggf. mal die Errorlog von Contenido.



2. Falsche URL
Snoopy hat geschrieben: Die Ausgabe klappt, selbst die css wird mit eingelesen, nur wenn jetzt auf einen link (z.B. einen Monat weiter klicke lande
ich auf der Startseite.
Du landest wahrscheinlich nicht auf der Startseite, sondern auf der Error-Seite (zu erkennen an den Parametern in der URL). Demnach scheint die URL, die von Deinem Kalender erzeugt wird nicht zu stimmen (fehlen vielleicht die Contenido-Parameter wie idcat?).


Schöne Grüße
Robert

Snoopy
Beiträge: 239
Registriert: Mo 15. Sep 2003, 18:45
Kontaktdaten:

Beitrag von Snoopy » Mo 22. Sep 2003, 20:01

chobbert hat geschrieben:Halllo,

ich kenn ja nicht den kompletten Code Deines Moduls und des Kalenders, aber zwei Sachen kann ich anmerken:

1. include-Pfade
Snoopy hat geschrieben: Dieser Kalender included noch andere Files, es gibt dor eine globals.inc.php
auszug:
Denk daran, daß die include-Pfade immer relativ zu dem Skript stehen, das als erstes aufgerufen wurde, also hier die front_content.php von Contenido. Falls der Kalender relative includes verwendet, findet PHP sie unter Umständen nicht. Überprüfe ggf. mal die Errorlog von Contenido.



2. Falsche URL
Snoopy hat geschrieben: Die Ausgabe klappt, selbst die css wird mit eingelesen, nur wenn jetzt auf einen link (z.B. einen Monat weiter klicke lande
ich auf der Startseite.
Du landest wahrscheinlich nicht auf der Startseite, sondern auf der Error-Seite (zu erkennen an den Parametern in der URL). Demnach scheint die URL, die von Deinem Kalender erzeugt wird nicht zu stimmen (fehlen vielleicht die Contenido-Parameter wie idcat?).


Schöne Grüße
Robert
Nee Nee alles soweit ok. Wenn ich den Kalender aufgerufen habe sind ja schon zur richtigen Anzeige 3 includes nötig. wenn ich dann aber den Monat weiterschalte per klick wir die URL immer länger ,

Code: Alles auswählen

Kalender ist zu sehen:

http://127.0.0.1/cms/cms/front_content.php?idcat=34&client=1&lang=1

1.mal von Sep auf Okt geklickt:

http://127.0.0.1/cms/cms/front_content.php?idcat=34&client=1&lang=1?Y=2003&m=10&d=22&cal_id=0&language=german

2. von Okt auf Nov:

http://127.0.0.1/cms/cms/front_content.php?idcat=34&client=1&lang=1?Y=2003&m=10&d=22&cal_id=0&language=german?Y=2003&m=11&d=22&cal_id=0&language=german

Das wird dann immer länger , wenn ich dann einen Termin anschauen will bekomme ich teile der URL in den Tabellen angezeigt.

Wie gesagt die Hauptänderung hab ich in der globals.inc.php gemacht. Ich habe

Code: Alles auswählen

 PHP_SELF durch $auth->url() ersetzt wie ich im codeschnipsel gezeigt habe.

Ich weiss ich nerve aber ich lerne noch

Danke für deine Bemühungen

Gesperrt