xml-dokument am server über flash-interface aktualisieren

harrry

Erfahrenes Mitglied
...genau das ist meine Frage und ich hoffe innigest auf eine EINFACHE Antwort!

Am Server liegen also meine XMLs und ich möchte ein Interface bauen (oder finden), mit dem man die Texte da drinnen befüllen kann. Also letzlich über den Browser. Geht das überhaupt ohne abgeschlossenes (geschweige denn angefangenes) Mathe-Studium?
 
Geht das überhaupt ohne abgeschlossenes (geschweige denn angefangenes) Mathe-Studium?
Ja, grade eben noch. ^^

Du willst also eine Art Mini-CMS, um Deine XML-Dateien onlinezu bearbeiten? Das geht dann einfach, wenn Du im Flash-Interface direkt den Quelltext dieser Dateien bearbeiten willst (Dokument einlesen, editieren, an PHP-Script schicken und speichern), und wird umso komplexer, je abstrakter Du editieren willst (im Extremfall ein WYSIWYG-Editor) und je komplexer die XML-Dateien dabei aufgebaut sind.

Geht es darum, z.B. Einträge eines Newsscriptes zu editieren, sollte das eigentlich kein Problem sein.

Bitte erkläre noch einmal genauer, was dieses Interface leisten muss - dann können wir Dir sicher weiterhelfen.

Gruß
.
 
Das freut mich aber!

Also, in meinen XML-Dokumenten steht zum Beispiel folgendes:
PHP:
<meincontent>
  	<content titel=&quot;ERSTE STORY&quot; info=&quot;BILDUNTERSCHRIFT&quot;>
  	<details bild=&quot;bilder/01.jpg&quot; email=&quot;blabla@aon.at&quot; link=&quot;http://www.blabla.com&quot;>
  <![CDATA[Erster Text: Lorem ipsum dolor sit amet, adipis elit, sed diam nibh euismod. Ut wisi enim. Duis autem vel eum iriure dolor in velit esse molestie consequat, illum dolore eu feugiat nulla facilisis.]]></details>
  	</content>
  <content titel=&quot;ZWEITE STORY&quot; info=&quot;BILDUNTERSCHRIFT&quot;>
  	<details bild=&quot;bilder/02.jpg&quot; email=&quot;blublu@aon.at&quot; link=&quot;http://www.blublu.com&quot;>
  <![CDATA[Duis autem vel eum iriure dolor in velit esse molestie consequat, illum dolore eu feugiat nulla facilisis at vero accumsan et iusto odio dignissim.]]></details>
  	</content>
  <content titel=&quot;DRITTE STORY&quot; info=&quot;BILDUNTERSCHRIFT&quot;>
  	<details bild=&quot;bilder/03.jpg&quot; email=&quot;blöblö@aon.at&quot; link=&quot;http://www.blöblö.com&quot;>
  <![CDATA[Velit esse molestie consequat, illum dolore eu feugiat nulla facilisis at vero accumsan et iusto odio dignissim.]]></details>
  	</content>
  </meincontent>
Dieses und ähnliche Dokumente liegen also am Server rum. Ich möchte nun, wie Du aus meinem Gemurmel ganz richtig geschlossen hast, dass der Betreiber der Site seine Site im Browser aufrufen kann und - über einen passwortgeschützten Zugang - an ein Interface gelangt, wo er neue Inhalte eingeben kann (also zB. Texte, Urls, Jpgs in den Bilder-Ordner hochladen), ohne, dass er den restlichen Code sieht bzw. irrtümlich zerstören kann. Dann ein Aktualisieren-Button und die neuen Inhalte sind online.

So stellt sich das der kleine Max vor. Und Ihr könnt mir dabei wirklich helfen? (Wenn ich sage helfen, dann meine ich: an der Hand nehmen! ;-)

Herzlichen Dank im Voraus!
 
Hi,

wenn das Ding in der Tat so aufgebaut ist:
Code:
<meincontent>
    <content titel="" info="">
        <details bild="">
            bla bla
        </details>
    </content>
</meincontent>
sollte das dank des XML-Objektes eigentlich kein großes Problem darstellen. Es kommt z.B. darauf an, ob ein content-tag mehrere details-Tags enthält und welche Attribute erlaubt sind. Im Prinzip brauchst Du einen MovieClip "eintrag", der mehrere Eingabefelder enthält. Nun würde ich das XML-Objekt parsen und entsprechend mehrere Instanzen dieses Clips erstellen, wobei die Textfelder mit den Inhalten (Attribute und CDATA) gefüllt werden. Nach dem Ändern der Inhalte kannst Du das Objekt wieder zusammenbauen und an ein PHP-Script senden, wo es gespeichert wird.

Wenn Du im Forum nach "XML" suchst, solltest Du schon einige Ansätze finden, aber ich kann im Laufe des Tages auch ein simples Beispiel posten.

Gruß
.
 
Oh ja - bitte posten, denn Deine Angaben sind mir im Moment noch einfach zu hoch. Lieben Dank!
 
Hi,

ich denke schon, alles auf einmal wäre für den Anfang ein etwas zu großer Brocken, daher schlage ich vor wir gehen Schritt für Schritt vor: Im Anhang findest Du ein Beispiel, mit dem Du schonmal den Inhalt Deiner XML-Datei einlesen und geordnet anzeigen kannst (Du musst nur die ganzen &quot; in anständige Anführungszeichen umwandeln, damit Flash damit was anfangen kann, aber das kannst Du ja von PHP-erledigen lassen).

Dann reden wir darüber, und wenn Du das soweit verstanden hast, gehen wir zum nächsten Schritt: Geänderte Daten hochladen und speichern. Dann können wir die Funktionalität z.B. auch um das Hinzufügen neuer Einträge erweitern. ;)

Gruß
.
 

Anhänge

  • xml_edit.zip
    12,2 KB · Aufrufe: 72
Das sieht ja schon fantastisch aus. Und so schnell!
Aber das einzig Sinnvolle, was ich bis jetzt hingekriegt habe, ist, das XML-Dokument als "unicode" abzuspeichern, damit auch die Umlaute angezeigt werden.
Peinlicherweise versteh ich schon mal nicht, wie du den einen "entry"-tag 3 x duplizierst, denn wenn ich statt
PHP:
entry[i] = this.attachMovie("entry", "entry" + i, i);
das hier schreibe:
PHP:
entry[i] = this.attachMovie("entry", "entry", "entry" + i, i);
dann zeigt es überhaupt nur noch einen einzelnen "entry"-block an. Meine erste Frage wäre also: wie kann ich, wenn ich etwa nicht 3, sondern zB. 5 Kapitel befüllen will, das Eingabeformular erweitern?
Und vielen Dank für die Mühe!
 
Hi,

attachMovie dupliziert nichts, sondern instanziert einen MC aus der Bibliothek (schau mal in die Referenz zum Thema attachMovie). Die 3 Parameter haben nichts mit der Anzahl der instanzierten Clips zu tun, sondern geben den Bezeichner in der Bibliothek, den neuen Instanznamen und die Tiefe der Instanz an. Da das XML-Objekt in einer Schleife durchlaufen wird, werden immer genauso viele Instanzen erzeugt, wie content-Tags in der XML-Datei sind.

Mit Masken oder über Schalter könntest Du natürlich immer nur einen Teil der Einträge anzeigen lassen, oder ein Pseudofenster mit Rollbalken erstellen.

Neue Einträge hinzuzufügen ist eigentlich auch kein Problem; Du müsstest Nur eine weitere (leere) Instanz des entry-MCs erstellen... aber damit würde ich im Moment noch nicht anfangen.
 
Habe jetzt versuchsweise einen vierten Eintrag ins XML geschrieben und.... tatsächlich, ein vierter tag erscheint. Ist ja toll.

Nun frage ich mich erstens: wie passt das alles auf einen Bildschirm, wenn es, sagen wir, 10 Einträge sind (doch mit Rollbalken? oder eine Funktion, dass nur 3 tags auf einmal zugelassen sind und dann kann man weiterschalten?)

Und das zweite Rätsel: was, wenn der Benutzer einen neuen Eintrag anlegen will? Kann man dafür einen leeren tag namens "Neuer Eintrag" erzeugen?

Wie immer 1000 Dank, leider kann ich erst am Abend weiterrätseln.
 
Ich bin ja blöd: das mit dem neuen Eintrag hast du ja geschrieben. Was wäre also der nächste richtige Schritt? Ein Absende-Button?
 

Neue Beiträge

Zurück