Markus Franzen: HTML-Vorlage à la Word-.dot-Datei?

Hallo zusammen!

Heute stellt sich mir folgendes Problem, bei dem ich nicht so recht weiterkomme:

Ich soll eine Dokumententenvorlage in HTML erstellen, die die Mitarbeiter mit ihrem Browser aufrufen können.

In diese Vorlage sollen Sie jetzt bestimmte Sachen/Felder ausfüllen. Also z.B. das Feld "Kunden-Nummer: ...", oder "Skonto: ...".

Nachdem die Felder ausgefüllt sind, soll die Datei unter dem Menüpunkt "Datei, Speichern" (nicht "Speichern unter") MIT den Inhalten der Felder unter einem beliebigen Dateinamen abgespeichert werden können.

Also im Grunde so, wie bei einer Word-.dot-Datei. Ist so etwas überhaupt möglich?? Oder muss man den Weg über CGI usw. gehen?

Ich habe es schon mit HTML-Editoren wie z.B. FrontPage-Express versucht. Aber wenn ich dort eine Vorlagendatei öffne, kann ich ja immer die komplette Datei bearbeiten - nicht nur die Eingabefelder...

Wäre für evtl. Antworten überaus dankbar!

Markus

  1. Hallo Markus!

    Ich nehme mal an, das die Mitarbeiter über ein Intranet auf diese Datei zugreifen. Wenn Du der Datei das Attribut "Schreibgeschützt" gibst, dürfte nur "Speichern unter" möglich sein!

    André

    1. Hi André!

      Ja, mit Word ist das kein Problem, aber bei einer HTML-Datei...???

      1. Hallo Marus!

        Ja, mit Word ist das kein Problem, aber bei einer HTML-Datei...???

        Ich habe es gerade mit einer TXT-Datei probiert! Schreibgeschützt ist Schreibgeschützt, egal welchen Dateityp Du hast!

        André

        1. Hallo André!

          Ich habe es gerade mit einer TXT-Datei probiert! Schreibgeschützt ist Schreibgeschützt, egal welchen Dateityp Du hast!

          Ja, dass stimmt natürlich. Das Problem ist halt, dass das Formular ja an bestimmten Stellen bearbeitet werden soll.

          Nur die Vorgabe an sich soll unverändert bleiben. Wenn ich jetzt z.B. Eingabefelder vorgebe, die ausgefüllt werden können, dann habe ich das Problem, dass man diese Eingaben ja nicht lokal abspeichern kann. Zumindest nicht so einfach...

          Markus

  2. Hi,

    Also im Grunde so, wie bei einer Word-.dot-Datei. Ist so etwas überhaupt möglich?? Oder muss man den Weg über CGI usw. gehen?

    ich würde das über CGI machen, da das im Grunde ganz einfach ist. Ob man andere Techniken (JavaScript?) dafür einsetzen kann weiß ich nicht genau. Einen Versuch wäre es wohl wert, aber solche Techniken sind immer relativ unsicher bzw. es kann zu Fehlern kommen.

    Cheatah

  3. Hallo zusammen!

    Heute stellt sich mir folgendes Problem, bei dem ich nicht so recht weiterkomme:

    Ich soll eine Dokumententenvorlage in HTML erstellen, die die Mitarbeiter mit ihrem Browser aufrufen können.

    Also im Grunde so, wie bei einer Word-.dot-Datei. Ist so etwas überhaupt möglich?? Oder muss man den Weg über CGI usw. gehen?

    Hallo Markus,

    Du musst nicht aber über ein Formular -> CGI geht das einwandfrei. Das CGI-Script liest die Eingabefelder aus und generiert eine wunderschön formatierte HTML-Seite, die auf dem Server landet: Mit Firmen-Logo und allen drum und dran.... und vor allem einheitlich!

    Und wenn Deine Kollegen den IE5 ab übermorgen benutzen, da gibt es ein <textarea> - Feld mit neuen Features: Rich Text. Also da bin ich auch mal gespannt ;-)

    Viele Grüße, Rolf

    1. Hallo!

      » Du musst nicht aber über ein Formular -> CGI geht das einwandfrei. Das CGI-Script liest die Eingabefelder aus und generiert eine wunderschön formatierte HTML-Seite, die auf dem Server landet: Mit Firmen-Logo und allen drum und dran.... und vor allem einheitlich!

      Ach, das hört sich ja traumhaft an! :)
      Kann mir da jemand genaueres drüber sagen, wo ich weitere Infos bekomme bzw. eine Art Anleitung...?

      Intranet ist übrigens vorhanden.

      Ich kenne CGI nur bei Formularverwaltung auf der privaten HP. So Felder ausfüllen, welche dann mittels einer Textdatei schön formatiert an meine Mailadresse geschickt werden.

      Nur ist dieses Unterfangen hier eine Nummer größer und ich habe leider (noch) nicht soviel Ahnung von der Materie...

      Markus

      1. Ach, das hört sich ja traumhaft an! :)
        Kann mir da jemand genaueres drüber sagen, wo ich weitere Infos bekomme bzw. eine Art Anleitung...?

        Intranet ist übrigens vorhanden.

        Markus

        Hallo Markus,

        hier ein kleines Beispiel. Fast dieselbe Poblemstellung war mein Einstieg in PERL und CGI: "Das Erstellen von einheitlichen Dokumenten übers Intranet". Denkbar ist auch (hab ich auch...) eine Auswahlliste für die Adressanten -> klick drauf -> und das Formular enthält bereits die Anrede mit Name usw. Deiner Fantasy sind keine Grenzen gesetzt.

        Viele Grüße, Rolf

        <!---- Ab hier das Form --->
        <HTML>
        <HEAD>
        <TITLE>EingabeForm</TITLE>
        </HEAD>
        <BODY BGCOLOR="white">
        <h3>Bitte das Form ausfüllen und dann auf 'Fertigstellen' klicken</h3>
        <form method=post action=/cgi-bin/ausform.pl>
        <pre>
        <b>Thema:</b>
        <input name=Thema size=50>
        <b>Nachricht:</b>
        <textarea name=Nachricht rows=7 cols=45>
        </textarea>
        <b>Name des Verfassers:</b>
        <input name=Mitarbeiter size=50>
        <input type=submit value=Fertigstellen><input type=reset>
        </form>
        </pre>
        </BODY>
        </HTML>
        <!--- Form Ende --->

        Ab hier das Script ---->

        Script "ausform.pl" wertet das Form "form.htm"aus

        SCR erstellt eine HTML-Seite

        Meine Lieblingslibrary einbinden

        require "cgi-lib.pl";

        Die Eingabefelder auslesen

        ReadParse();
        if(!$in{Mitarbeiter}){
        CgiDie('Fehlerhafte Eingabe!', 'bitte Namen eingeben');
        }

        Zeilenumbrüche aus Textarea übernehmen

        $in{Nachricht} =~ s/\n/<br>/g;

        #Datum und Zeit ermitteln
        $Jetztwert = time();
        $Jetztzeit = localtime($Jetztwert);
        &Deutschnamen;@Zeit = split(/ +/,$Jetztzeit);
        @Uhrzeit = split(/:/,$Zeit[3]);

        Das Dokument zum Browser schicken

        print &PrintHeader;
        print "<HTML><HEAD>
        <TITLE>$in{Thema}</TITLE>
        </HEAD>
        <BODY BGCOLOR=white>
        <b>Thema:</b> <BIG>$in{Thema}</BIG>
        <p>Erstellt am $Zeit[0],  $Zeit[2]. $Zeit[1] $Zeit[4] um $Zeit[3]
        <p>Bearbeiter: $in{Mitarbeiter}
        <p>Nachricht:
        <p>$in{Nachricht}
        <p>Mit freundlichen Grüßen
        </BODY>
        </HTML>";

        sub Deutschnamen{      # Thnx to Stefan Muenz / SELFHTML!!!
        $Jetztzeit =~ s/Mon/Montag/;
        $Jetztzeit =~ s/Tue/Dienstag/;
        $Jetztzeit =~ s/Wed/Mittwoch/;
        $Jetztzeit =~ s/Thu/Donnerstag/;
        $Jetztzeit =~ s/Fri/Freitag/;
        $Jetztzeit =~ s/Sat/Samstag/;
        $Jetztzeit =~ s/Sun/Sonntag/;
        $Jetztzeit =~ s/Jan/Januar/;
        $Jetztzeit =~ s/Feb/Februar/;
        $Jetztzeit =~ s/Mar/Maerz/;
        $Jetztzeit =~ s/Apr/April/;
        $Jetztzeit =~ s/May/Mai/;
        $Jetztzeit =~ s/Jun/Juni/;
        $Jetztzeit =~ s/Jul/Juli/;
        $Jetztzeit =~ s/Aug/August/;
        $Jetztzeit =~ s/Sep/September/;
        $Jetztzeit =~ s/Oct/Oktober/;
        $Jetztzeit =~ s/Nov/November/;
        $Jetztzeit =~ s/Dec/Dezember/;
        }

        Ende Script ----<

        1. Hallo Rolf!

          Vielen Dank für deine Mühe. Das mit der Eingabe habe ich jetzt so ziemlich kapiert. Nur das Skript selber und dessen Ausgabe - das sind für mich böhmische Dörfer! ;)

          Weiss vielleicht jemand, ob man sich irgendwo aus dem Internet ein fertiges CGI-Skript runterladen kann?

          Es sollte halt in etwa so aussehen:

          Ich gebe an, welche Felder ausgefüllt werden sollen.

          Diese Felder sollen dann mittels des CGI-Skripts in die HTML-Vorlage eingebaut werden und unter einem vorgegebenen Dateinamen lokal abgespeichert werden.

          Ich habe mir gestern Abend schon einen Wolf gesucht, aber nur Skripte für Counter, Gästebücher etc. gefunden.

          Markus

          1. Hallo Markus,

            Diese Felder sollen dann mittels des CGI-Skripts in die HTML-Vorlage eingebaut werden und unter einem vorgegebenen Dateinamen lokal abgespeichert werden.

            Nun ja, das lokale Speichern geht nur, wenn auch Perl auf der lokalen Maschine installiert ist.

            Vorschlag: Über den Browser -> formular -> CGI/PERL das Dokument erstellen. Das CGI ist so geschrieben, dass zunächst das vom Kollegen erstellte Dokument nur angezeigt wird. Mit dem BackButton kann der Kollege auch zurück zum Form, falls da was zu ändern ist...

            Der Kollege soll nun die Browserfunktionen selbst benutzen zum

            • Drucken des Dokuments
            • Speichern unter
              Fürs "speichern unter" kann ja ein gemappter Netzpfad im Intranet verwendet werden, dort liegen auch die Images (FirmenLogo und so).

            Ein fertiges Script für solche speziellen Sachen wirst Du wohl kaum im Internet finden, also kommst Du nicht umhin das selbst zu schreiben.

            Wie Forms über CGI ausgewertet werden findst Du auf jeden Fall in /SELFHTML und für einen solchen Einstieg ist das da auch sehr gut beschrieben; auch wie mit einem Script eine HTML Datei geschrieben wird.

            In der Hoffnung, ein paar hilfreiche Anregeungen gegeben zu haben...

            Viele Grüße, Rolf