Learn about DokuWiki
Learn about DokuWiki
The Struct Plugin supports integration with the Bureaucracy Plugin. This allows reusing the input mechanisms of the different types in bureaucracy forms and creation of structured data when pages are created through Bureaucracy's template action or saving them into lookup schemas.
You can use any field from any defined schema as a field in a Bureaucracy form. To do so simply use the type
struct_field and specify the field name in the form of
<form> Action template templates:product product : struct_field "products.product" @ submit "Create new product" </form>
The defined (translated) label will automatically be used for the field as well as all the validation rules configured in the schema.
You can use the value entered in a Struct field as any other value for templating. Eg. you can use
@@products.product@@ to access the value of the example above.
All Struct values will be assigned to the resulting pages of (when using the Bureaucracy template action), provided the schema assignments match.
Instead of adding individual fields to a Bureaucracy form as described above, you can also add a whole schema to the form. To do so, simply use the
<form> Action template templates:product product : textbox name @ struct_schema "products" ! submit "Create new product" </form>
Please note that all additional parameters given will be added to each individual field. Eg. you can only make all fields of the schema mandatory or optional.
In this way you can't use
@ to mark fields to be used as page names. To use a field of the struct_schema as page name you can define it with the bureaucracy syntax
@@ and the fully qualified name of the struct field e.g.
products.product in the [destination]. The [separator]
: is not needen then.
<form> Action template templates:product destination:@@products.product@@ textbox name @ struct_schema "products" ! submit "Create new product" </form>
At the moment it isn't possible to use pre-filled fields as templates in the Bureaucracy – fieldset.
You can save data from bureaucracy forms into lookup schema, using
struct_lookup form action. To do so add
action struct_lookup and desired lookup fields using
<form> action struct_lookup struct_field "someschema.name" submit "Save into lookup" </form>