---
name: "Vend::Table::Editor"
section: "3pm"
platform: "linux"
package: "interchange"
version: "5.7.7-2"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/Vend::Table::Editor"
---

# Vend::Table::Editor(3pm)

## NAME

Vend::Table::Editor -- Interchange do-all HTML table editor

## SYNOPSIS

\[table-editor OPTIONS\]

\[table-editor OPTIONS\] TEMPLATE \[/table-editor\]

## DESCRIPTION

The \[table-editor\] tag produces an HTML form that edits a database table or collects values for a "wizard". It is extremely configurable as to display and characteristics of the widgets used to collect the input.

The widget types are based on the Interchange `"[display ...]"` UserTag, which in turn is heavily based on the ITL core `"[accessories ...]"` tag.

The `"simplest"` form of `"[table-editor]"` is:

```
        [table-editor table=foo]
```

A page which contains only that tag will edit the table `"foo"`, where `"foo"` is the name of an Interchange table to edit. If no `"foo"` table is `"defined"`, then nothing will be displayed.

If the `"mv_metadata"` entry "foo" is present, it is used as the definition for table display, including the fields to edit and labels for sections of the form. If `"ui_data_fields"` is defined, this cancels fetch of the view and any breaks and labels must be defined with `"ui_break_before"` and `"ui_break_before_label"`. More on the view concept later.

A simple "wizard" can be made with:

```
        [table-editor
                        wizard=1
                        ui_wizard_fields="foo bar"
                        mv_nextpage=wizard2
                        mv_prevpage=wizard_intro
                        ]
```

The purpose of a "wizard" is to collect values from the user and place them in the `$Values` array. A next page value (option mv\_nextpage) must be defined to give a destination; if mv\_prevpage is defined then a "Back" button is presented to allow paging backward in the wizard.
