Autor Thema: PassThru HTML im Notes Client  (Gelesen 6344 mal)

Offline haeppchen

  • Junior Mitglied
  • **
  • Beiträge: 55
PassThru HTML im Notes Client
« am: 04.06.05 - 09:37:07 »
Hallo zusammen,

ich möchte folgendes realisieren:
per Button-Click soll HTML-Code in ein RichText-Feld kopiert werden und dort als HTML und nicht als reiner Text angezeigt werden.
Ich habe den Style des RT-Felds als "passThru HTML" definiert und schaffe es auch, den Code dort hinein zu kopieren.
Beim Neu-Öffnen des Dokumentes zeigt mir das Feld allerdings immer nur den reinen Text an und nicht wie gewünscht HTML.

Ich verwende folgenden Programm-Code:


Sub Click(Source As Button)
   
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument

   Set uidoc = ws.CurrentDocument
   Set doc = uidoc.Document
   
   Call uidoc.save

   Dim richStyle As NotesRichTextStyle
   Set richStyle = session.CreateRichTextStyle
   
   Dim richText As New NotesRichTextItem(doc, "HTML")
   richStyle.PassThruHTML = True
   
   Call richText.AppendStyle(richStyle)
   Call richText.AppendText(|<html> <head> </head> <body> <p>HTML</p> </body> </html>|)
   
   Call doc.Save(True, False)
   Call uidoc.Close
   
End Sub


Kann mir jmd. weiterhelfen? Warum wird mein HTML-Code als reiner Text angezeigt, obwohl ich passThru HTML aktiviert habe?
Kann es sein, dass man im Notes Client (das Dok soll nicht im Web betrachtet werden) so etwas gar nicht realisieren kann, also kein HTML innerhalb von RT-Feldern darstellen kann?

Bin für Hilfe dankbar!!

Marinero Atlántico

  • Gast
Re: PassThru HTML im Notes Client
« Antwort #1 am: 04.06.05 - 10:05:05 »
Du kannst einmal das hier probieren:
Code
Call richText.AppendText(|[<p>HTML</p>]|)
und die Zeile mit appendStyle löschen.

Beachte die eckigen Klammern und im übrigen machen imho die <html><head></head></body></body</html> tags imho keinen Sinn, da das RichTextFeld ja mitten auf der Seite ist, also nur ein html-Seiten Fragment definiert (ganz ähnlich wie bei JSR-168 kompatiblen Portlets, btw).

Wie immer bei solchen Dingen, ist es eine *gute* Idee, dass du dir den erzeugten Html Quellcode anschaust. Ich vermute, dass Notes sowieso [ und | konvertiert. Schau dir das bitte mal genau an und berichte.
Dann würde das alles sowieso nicht funktionieren.

Warum kannst du nicht einfach ein normales Feld statt RichText verwenden?

Gruß Axel




Offline haeppchen

  • Junior Mitglied
  • **
  • Beiträge: 55
Re: PassThru HTML im Notes Client
« Antwort #2 am: 04.06.05 - 10:44:19 »
Hallo Axel,

vielen Danl erstmal für deine schnelle Antwort.
Habe deinen Vorschlag

Code
Call richText.AppendText(|[<p>HTML</p>]|)

umgesetzt, aber  mit demselben Ergebnis wie vorher: es wird nur der reine Text angezeigt.
Es muss doch irgendwie möglich sein, HTML innerhalb von Lotus Notes Feldern angezeigt zu bekommen! Wenn ich HTML-Code in eine Form kopiere und dann passThru HTML aktiviere, bekomme ich ja schließlich auch HTML angezeigt und nicht mehr den reinen Code??



Zitat
Warum kannst du nicht einfach ein normales Feld statt RichText verwenden?

Hier noch eine Verständnisfrage: Muss ich nicht RT-Felder nehmen, um dort HTML angezeigt zu bekommen?
Denn bei RT-Feldern kann man doch gerade den Style auf passThru HTML setzen?
Ein "normales" Feld wäre natärlich viel besser, weil einfacher zu handeln, aber wie sage ich diesem Feld, dass es HTML anzeigen soll und nicht den reinen HTML-Code??

Marinero Atlántico

  • Gast
Re: PassThru HTML im Notes Client
« Antwort #3 am: 04.06.05 - 11:28:53 »
NotesRichText ist ein eigenes Thema in Notes.
Benutze es nur wo wirklich nötig.

HTML ist Text. Also kannst du ein Textfeld verwenden.
Du kannst diesen Bereich dann im Designer als PassThru html markieren.
Warum also dafür nicht einfach ein Textfeld verwenden?
Oder sogar Computed Text.

Du kannst dir im Browser den Source Code anzeigen lassen.
In Mozilla/Firefox und IE: Mit rechter Maustaste auf Seite klicken und dann Eintrag Seitenquelltext anzeigen oder Quelltext anzeigen.
Suche bitte die entsprechende Stelle und poste sie hier. 

Gruß Axel
« Letzte Änderung: 04.06.05 - 12:35:22 von Marinero Atlántico »

Offline haeppchen

  • Junior Mitglied
  • **
  • Beiträge: 55
Re: PassThru HTML im Notes Client
« Antwort #4 am: 04.06.05 - 19:23:55 »
Habe jetzt ein Text-Feld benutzt und HTML-Code per Button-Click dort hineinkopiert, aber es wird immer noch nur der reine Text angezeigt.
Ich habe im Designer beim entsprechenden Feld als passThru HTML aktiviert (wenn das für einzelne Felder überhaupt möglich ist, ich kann das Feld lediglich markieren und im Menü "passThru HTML" wählen, aber beim nächsten Klick auf das Feld ist diese Option wieder deaktiviert).
Das Kopieren des HTML-Code klappt weder in der Form

   |[<p>HTML</p>]|   noch

   "[<p>HTML</p>]"  noch

   "<p>HTML</p>"

es wird halt weiterhin der String "[<p>HTML</p>]" (bzw. "<p>HTML</p>") im Text-Feld angezeigt 

Vielleicht habe ich mich bisher auch nicht deutlich genug ausgedrückt, aber das Dokument soll im Client und nicht im Browser-Client das HTML anzeigen.
Beim Reinkopieren des HTML-Codes in das Feld sollte das HTML auch sofort angezeigt werden.
So langsam zweifele ich daran, ob Notes dazu überhaupt in der Lage ist...

Offline Mandalor

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
Re: PassThru HTML im Notes Client
« Antwort #5 am: 07.06.05 - 08:58:40 »
Felder kannst du nicht als Durchgangshtml definieren, nur die Schriftzeichen davor oder danach. versuch es mal mit berechnetem Text:

Der berechnete Text berechnet sich dann aus dem Feldinhalt.
« Letzte Änderung: 07.06.05 - 09:00:25 von Mandalor »
mit besten Grüßen

Markus Petzold

Offline haeppchen

  • Junior Mitglied
  • **
  • Beiträge: 55
Re: PassThru HTML im Notes Client
« Antwort #6 am: 07.06.05 - 14:24:41 »
Ist es wirklich so, dass man Felder nicht als passthru HTML definieren kann? Wofür aber gibt es dann bei RT-Feldern die Methode passThruHTML á la

   richStyle.PassThruHTML = True

Damit müsste es eigentlich möglich sein!!
Aber abgesehen davon wäre HTML innerhalb eines RT-Feldes auch erst nach schließen und neu-öffnen eines Dokumentes sichtbar.
Eine unbefriedigende Lösung!!

Marinero Atlántico

  • Gast
Re: PassThru HTML im Notes Client
« Antwort #7 am: 07.06.05 - 14:41:10 »
Aber abgesehen davon wäre HTML innerhalb eines RT-Feldes auch erst nach schließen und neu-öffnen eines Dokumentes sichtbar.
Eine unbefriedigende Lösung!!
Das ist aber wirklich schon seit der letzten Eiszeit so in Notes.
Man kann tricksen, indem man das Dokument nach der Aktion im RT-Feld automatisch schliesst (über uidoc) und genau dasselbe Dokument dann wieder automatisch öffnest im queryclose (document.editDocument).
Früher in 4.6 ging das dann nur, wenn man dann noch irgendwelchen Code in Ansichten aus der dieses Dokument geöffnet wurde, aufs Spielfeld schickte.
 
Ich kann solche Hacks. Sie bewirken bei mir aber nur noch Selbsthaß.
Weiß das besser jetzt. Es ist nicht kreativ sondern Anti-Engineering.

Gruß Axel

Offline Mandalor

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
Re: PassThru HTML im Notes Client
« Antwort #8 am: 08.06.05 - 09:09:36 »
Die eigenschaft für rtfelder kenne ich nicht, aber andere Feldern kann man nicht als durchgangshtml definieren, oder? ( :-:)
mit besten Grüßen

Markus Petzold

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz