Posts 7
|
Ben |
Post: 001 13.02.2008 - 14:28 |
Ich versuch grad ohne erfolg ein simples formular zu erstellen das mit eine ptv und textarea-content in einen anchorbereich speichert:
(:include PageFormElements.Messages:)
(:foxreplace anchorpost redirect=1 ptvtarget=Article.AnchorTest target=Article.AnchorTest#content template=0:)
'''Title:'''\\
(:input text Title {*$:Title} size=60:)
'''Text:'''\\
(:input textarea Text ???Article.AnchorTest#content??? cols=60 rows=6:)
(:input submit post 'Save Changes':)
(:foxend anchorpost:)
Fragen:
gruss ben | |
Post: 002
by Hans on 13.02.2008 - 15:01
Fox braucht ein template, um textarea inhalt und PTV zu speichern.
Das Formular:
(:fox anchorpost redirect=1 (:foxreplace put=overwrite template=AnchorPostTemplate target=Article.AnchorTest#content :) (:input text Title size=60:) (input textarea Text cols=60 rows=6:) (:input submit post 'Save Changes':) (:foxend anchorpost:)
Das Tenmplate von Seite AnchorPostTemplate:
(:Title: {$$Title}:)
{$$Text}
Die Target Seite muss die Anker Section haben.
Post: 003
by Ben on 13.02.2008 - 15:29
oky, cool vielen dank das klappt mal, jetzt aber, wie bring ich beim editieren den bestehenden content wieder in die textarea. Mit ptv ists ja kein problem, aber wie den Anchor-Bereich?
Post: 004
by Hans on 13.02.2008 - 16:15
Man braucht zwei Fox Forms: eins um neuen Inhalt zu schreiben, und eins um es zu editieren. Für neuen Inhalt sollte die form oben nicht foxreplace sondern foxadd benutzen, mit put=top vielleicht. Oder einfach mit defaults:
(:fox newanchorpost template=... target=... redir=1:) .....
Zum editieren empfehle ich Cookbook:FoxEdit. Damit kann man Editier-links schaffen, die eine Editierform aufrufen. Die kann entwedr standard sein, oder speziell gebaut mit verschiedenen Feldern für die verschiedenen PTVs incl.Text Feld.
ein Beispiel ist Cookbook:FoxContacts, auch live hier.
Post: 005
by Ben on 14.02.2008 - 18:15
ich versuch grad mehrere versionen von textarea. Der textarea inhalt wird auch gespeichert, blöderweise die ptv's nicht. Siehst du grad was ich falsch mache?
(:fox articleform redirect=1:)
(:foxreplace put=overwrite target={$EditTarget}#IDcontent template=PageFormTemplates.AnchorText ptvtarget={$EditTarget}:)
editing page ''{$EditTarget}''\\
(:input text Title "{*$:Title}" size=60:)
Post: 006
by Hans on 14.02.2008 - 18:57
Hier ist ein Beispiel für eine PTV edit form:
(:fox editform target={$EditTarget} ptvtarget={$EditTarget} template=0 redirect=1 :)
(:input defaults source={$EditTarget} :)
(:input text subject name=$:Subject :)
(:input textarea id=text name=$:Text :)
(:input submit post Enter:)
(:foxend editform:)
{$EditTarget} wird von foxedit.php gesetzt mit dem Namen der Seite in der der edit link ist.
Die Seite hat PTVs 'Subject' und 'Text', deren Werte in die edit form geladen werden. Dafür braucht es das markup
(:input defaults source=PageName:)
Mit name=$:Subject und name=$:Text identifizieren die Felder die PTVs, und geben ein Ziel fürs speichern.
Man muss hier name=$:PTVar schreiben, im Unterschied zum generellen Gebrauch, wo name= oft weggelassen werden kann.
PTV 'Text' kann auch eine Anker Sektion sein:
[[#Text]] text inhalt mehr inhalt [[#Textend]]
muss mit #Textend abschliessen:das end ist hier wichtig
Also man braucht nicht foxaction=replace put=overwrite.
Post: 007
by Ben on 14.02.2008 - 19:43
oky cool, jetzt funktionierts. Dann kann man sich das mit dem target eigentlich sparen.
Und mehrere textareas funktionieren auch.
vielen dank
grz ben
