Doku zur Verwendung von neuen Tags?

Fragen zu den Grundfunktionen der webEdition Oberfläche wie Backup, Import, ...
Fragen zu we:Tags bitte im Forum "Templates erstellen"
jofr

Doku zur Verwendung von neuen Tags?

Beitragvon jofr » So 20. Jul 2003, 13:04

Wo finde ich denn eine Doku zu der Verwendung der
14 neue Tags zum Anlegen/Editieren von webEdition-Dokumenten und Objekten (z.B. Gästebuch, Kleinanzeigen, usw.)?

Also nicht nur die Tag-Beschreibung, sondern ein dokumentiertes Beispiel z.B. vom Anlegen und Ändern eines Objektes mit den neuen Tags.

JO

Dirk Einecke
Senior Member
Beiträge: 3735
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Karlsruhe
Kontaktdaten:

Beitragvon Dirk Einecke » So 20. Jul 2003, 15:17

Hi.

Erzeugen und Ändern von Seiten und Objekten vom Frontend aus

Seit webEdition 2.2 gibt es neue we:Tags, mit denen es für Besucher der Website möglich ist, webEdition-Dokumente und Objekte zu erzeugen und zu ändern. Somit kann man auf einfache Weise ein Gästebuch, einen Kleinanzeigenmarkt oder ähnliche Anwendungen mit webEdition erzeugen. Als Grundlage hierfür dient immer das <we:form>-Tag. Dieses Tag wurde um 2 neue Typen erweitert: <we:form type="document"> und <we:form type="object">. Je nachdem, ob man nun webEdition-Dokumente oder Objekte erzeugen möchte, ist entweder <we:form type="document" oder <we:form type="object"> zu verwenden. Bei webEdition-Dokumenten muss der Dokument-Typ als Wert des Attributs "doctype" angegeben werden und bei Objekten muss die ID der Klasse als Wert des Attributs "classid" angegeben werden. WebEdition-Dokumente ohne Dokument-Typ können nicht erzeugt oder geändert werden. Zwischen Start- und Endtag von <we:form> werden die einzelnen Felder durch das Tag <we:userInput/> dargestellt, wobei durch den Wert den man dem Attribut "type" zuweist festgelegt wird, um welchen Typ es sich handelt. Die genaue Beschreibung dieses Tags und seiner Attribute entnehmen Sie bitte der Tag-Referenz.

Beispiel:

Code: Alles auswählen

<we:form type="document" id="56" doctype="Gaestebucheintrag">
        <table width="500" border="0" cellspacing="0" cellpadding="5" align="center">
          <tr>
            <td class="t4"><strong>G&stebuch-Eintrag</strong></td>
            <td align="right" nowrap>
            [img]/images/pixel.gif[/img]</td>
          </tr>
          <tr>
            <td class="t3" colspan="2">
              <p>
                <strong>Ihr Name:</strong>

                <we:UserInput name="Name" type="text" size="60"/>
              </p>
              <p>
                <strong>Ihr Ort:</strong>

                <we:UserInput name="Ort" type="text" size="60"/>
              </p><we:userInput name="Datum" type="date" hidden="true"/>
            </td>
          </tr>
          <tr>
            <td class="t3" colspan="2"><strong>Ihr Eintrag:</strong>
<we:userInput type="textarea" name="Text" width="500" height="200" autobr="true" wysiwyg="true" commands="prop,list,link,color"/></td>
          </tr>
          <tr>
            <td class="t3" colspan="2"><input type="submit" value="eintragen">&<input type="reset" value="zur&cksetzen"></td>
          </tr>
        </table>
</we:form>
Beim Attribut "id" des <we:form>-Tags wird als Wert die ID des webEdition-Dokuments angegeben, wohin das Formular verschickt werden soll - die Folgeseite. Dies kann eine Zwischenseite sein, auf der man die Eingaben noch mal anzeigt oder gleich eine Seite, welche die Eingaben speichert und gegebenenfalls veröffentlicht. Im Folgenden werden beide Möglichkeiten gezeigt.

1. Hier wird gleich am Anfang der Vorlage das <we:write>-Tag eingesetzt um die vom Formular übertragenen Daten zu speichern. Die genaue Beschreibung dieses Tags und seiner Attribute entnehmen Sie bitte der Tag-Referenz.

Beispiel:

Code: Alles auswählen

<we:write type="document" publish="true" doctype="Gaestebucheintrag"/>
Nach dem <we:write>-Tag kann man mit den Tags <we:ifWritten> bzw. <we:ifNotWritten> feststellen, ob der Schreibvorgang des webEdition-Dokuments bzw. des Objekts erfolgreich war.

Beispiel:

Code: Alles auswählen

<we:ifWritten type="document">
  Vielen Dank für den Eintrag in unser Gästebuch!
<we:else/>
  Leider gab es einen Fehler beim Eintragen in unser Gästebuch!
</we:ifWritten>
2. Wenn Sie die eingegebenen Daten zuerst noch an eine Zwischenseite schicken möchten, dann verwenden Sie einfach wieder das <we:form>-Tag in Kombination mit dem <we:userInput>-Tag. Im Gegensatz zu der Eingabe-Seite stellt man nun die Eingabefelder auf "nicht editierbar". Dies kann man dadurch bewirken, dass man bei allen <we:userInput/>-Tags beim Attribut "editable" als Wert "false" angibt.

Beispiel:

Code: Alles auswählen

<we:form type="document" id="57" doctype="Gaestebucheintrag">
        <p>Hier k&nnen Sie noch einmal Ihre Eingaben kontrollieren:</p>
        <table width="500" border="0" cellspacing="0" cellpadding="5" align="center">
          <tr>
            <td class="t4"><strong>G&stebuch-Eintrag</strong></td>
            <td align="right" nowrap>
            [img]/images/pixel.gif[/img]</td>
          </tr>
          <tr>
            <td class="t3" colspan="2">
              <p>
                <strong>Ihr Name:</strong>

                <we:UserInput name="Name" type="text" editable="false"/>
              </p>
              <p>
                <strong>Ihr Ort:</strong>

                <we:UserInput name="Ort" type="text" editable="false"/>
              </p><we:userInput name="Datum" type="date" hidden="true"/>
            </td>
          </tr>
          <tr>
            <td class="t3" colspan="2"><strong>Ihr Eintrag:</strong>
<we:userInput type="textarea" name="Text" editable="true"/></td>
          </tr>
          <tr>
            <td class="t3" colspan="2"><input type="button" value="zur&ck" onclick="history.back()">&<input type="submit" value="eintragen">&<input type="reset" value="zur&cksetzen"></td>
          </tr>
        </table>
</we:form>
Achtung: Wenn Sie beim <we:form>-Tag einen Wert beim Attribut "name" angeben, dann müssen Sie auch bei dem <we:write>-Tag als Wert des Attributs "formname" den Namen des Formulars eintragen.

Um ein webEdition-Dokument bzw. Objekt vom Besucher der Webseite ändern zu lassen benutzen Sie das <we:a>-Tag und geben beim Attribut "edit" als Wert "document" bzw. "object" an.. Wenn das Tag in einer <we:listview> verwendet wird, wird als Referenz automatisch der dazu gehörige Listview-Eintrag benutzt. Um zu gewährleisten, dass nur der Erzeuger eines webEdition-Dokuments bzw. Objekts dieses auch ändern kann, muss im webEdition-Dokument bzw. Objekt ein Feld angegeben werden, in welchem die ID des Erzeugers gespeichert wird. Dies ist natürlich nur in Verbindung mit der Kundenverwaltung möglich. Hierzu gibt man beim <we:write>-Tag als Wert des Attributs "userid" den Namen des entsprechenden Feldes an. Beim Attribut "admin" kann man zusätzlich als Wert den Namen eines Feldes von der Kundenverwaltung angeben. Wenn bei einem Kunden in diesem Feld etwas eingetragen ist (außer 0), dann darf diese Benutzer ebenfalls das webEdition-Dokument bzw. Objekt verändern. Mit dem Tag <we:ifRegisteredUserCanChange> kann man feststellen, ob ein Kunde ein webEdition-Dokument bzw. Objekt bearbeiten darf. Die beiden Attribute "userid" und "admin" haben die gleiche Bedeutung wie beim <we:write>-Tag.

Möchte man, dass auch die Kategorie eingegeben werden kann, dann kann man das Tag <we:categorySelect> benutzen. Dies stellt ein einfaches DropDown-Menü dar, mit welchem sich die gewünschte Kategorie auswählen lässt. Beachten Sie bitte, dass bei diesem Tag das End-Tag angegeben werden muss, auch wenn Sie keine <option> Tags angegeben haben.

Die Eingaben können auch in einer PHP-Session gespeichert werden. Damit ist gemeint, dass die Eingaben nicht verloren gehen, auch wenn man zwischendurch auf eine andere Seite verweist. Bedingung ist nur, dass das Formular zu einem webEdition-Dokument geschickt wurde, welches ein <we:form>-Tag enthält und als Wert des Attributs "edit" entweder "document" oder "object" angegeben wurde und am Anfang jeder Vorlage das Tag <we:sessionStart> steht. Die Daten der Session werden bei einem <we:write> automatisch gelöscht.

jfu2465
Member
Beiträge: 86
Registriert: Do 1. Jan 1970, 02:00

Pflichteingabefelder

Beitragvon jfu2465 » Di 22. Jul 2003, 11:10

Hi,

gibt es bei dieser Art von Frontend-Editing auch die Möglichkeit anzugeben, dass das entsprechende Feld ein Pflichtfeld ist?

Viele Grüße
Joachim

Dirk Einecke
Senior Member
Beiträge: 3735
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Karlsruhe
Kontaktdaten:

Beitragvon Dirk Einecke » Di 22. Jul 2003, 11:28

Hi.

Ja. Auf der Folgeseite kann man diese Tags verwenden:

Code: Alles auswählen

<we:ifUserInputEmpty>...</we:ifUserInputEmpty>
<we:ifUserInputNotEmpty>...</we:ifUserInputNotEmpty>


Zurück zu „Basisversion“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 12 Gäste