Page 1

Posts 7


Ben

Post: 001  

13.02.2008 - 13:51

Bis jetzt kann ich ptv's nur speichern wenn in der targetpage das ptv bereits vorhanden ist. Gibt's hier eine option neue ptvs für eine seite zu definieren, respektive abzuspeichern?

Profile?    

Post: 002  

by  Hans    on 14.02.2008 - 06:24

Neue PTVs müssen in einem Template definiert sein, das die Fox Form benutzt. Mehrzeilige Templates auf einer Template seite definieren, einzeilige kann man auch mit (:foxtemplate "template inhalt":) in der Foxform definieren.

ZB:
(fox frm target=Test.Test1 :)
(:foxtemplate "(:Nachname:{$$nachname} :)":)
(:input text nachname:)
(:input submit post :)
(:foxend frm:)

Eine neue PTV mit bestimmter Struktur wird der Zielseite hinzugefügt. Das Template bestimmt die Struktur.

Option ptvtarget=PageName prüft die PageName Seite und erneuert alle PTVs auf der Seite, für die die Foxform Eingabe Felder hat, mit den entsprechenden neuen Werten.
Dabai können die PTvs ganz unterschiedliche Strukturen haben.

Profile   email   www

Post: 003  

by  Hans    on 14.02.2008 - 07:41

PS: Falls die Foxform sowohl neue Seiten mit neuen ptvs schreiben soll, als auch ptvs in bestehenden Seiten verändern soll, kann man das mit Hilfe einer kleinen foxfilter script auch erreichen. Solch eine Foxilter Funktion setzt template=NULL wenn die Seite existiert, ansonsten wird ein Template benützt um die neuen PTVs zu schreiben.

Profile   email   www

Post: 004  

by  Hans    on 14.02.2008 - 14:30

okay, ich hab das jetzt integriert in fox.php mit einer neuen option: ptvupdate=1

Profile   email   www

Post: 005  

by  Ben    on 14.02.2008 - 17:31

cool, das heisst:

  • wenn die seite existiert brach ich kein template, ansonsten schon
  • die ptv muss in der targetpage nicht bereits existieren

richtig?

Profile?    

Post: 006  

by  Hans    on 14.02.2008 - 18:08

Ja. Fox braucht normalerweise immer ein template, aber nicht für PTV-Updates, die normalerweise durch ptvtarget=PageName erreicht wird. ptvupdate=1 erlaubt durch target=PageName und template=TemplatePage oder (:foxtemplate "template string":) eine neue Seite zu bevölkern, oder für eine bestehende Seite PTV-Veränderungen zu machen. PTVs zu ändern geht nur wenn sie schon in der Seite sind.

Um eine Seite mit PTVs zu editieren, indem die PTV Werte in einzelne Formfelder geladen werden, braucht es allerdings eine spezielle edit form, und ein FoxEdit link kann helfen sie zu laden.

Profile   email   www

Post: 007  

by  Ben    on 17.02.2008 - 13:00

hallo hans, ich versuch mich grad mit ptvupdate.

Mein ziel ist die ptv Livecycle ohne template zu speichern. Die ptv sollte sich einfach am ende der seite eintragen.

Momentan werden nur valus gespeicehrt deren variablen schon im template eingetragen sind. Also title schon, Livecycle nicht.

Editform:

(:fox blogform target={$EditTarget} ptvupdate=1 template=0 redirect=1 :)
(:input defaults source={$EditTarget} :)
edit: ''{$EditTarget}''\\
(:input text name=$:Title :)
(:input text name=$:Livecycle :)
....

Template:

[[#Summary]]

[[#Summaryend]]
[[#Text]]

[[#Textend]]
(:pagetype: :)
(:Title: :)
(:title {$:Title}:)

siehts du grad was falsch ist?
grz ben

Profile?    

Add Comment

 
Subject:
Message:
 Enter value <- Have you entered the code number?
Author:
Page 1